我已经用gridster做了一些测试,我可以保存一些gridster数据,如坐标,大小,ID等。
但是我无法保存填充网格器的div 的内容,我以后可以加载以及每个元素的网格坐标。
这是我的代码:
<script type="text/javascript">
$(document).ready(function () {
var grid_canvas = $("#homepage > #grid").gridster({
widget_margins: [10, 10],
widget_base_dimensions: [140, 140],
widget_selector: ".gs_w",
shift_larger_widgets_down: false,
serialize_params: function($w, wgd) {
return {
id: $($w).attr('id'),
col: wgd.col,
row: wgd.row,
size_x: wgd.size_x,
size_y: wgd.size_y,
};
},
draggable: {
stop: function(event, ui) {
var positions = JSON.stringify(this.serialize());
$.post(
"process.php",
{portlets: positions},
function(data){
var resultado = jQuery.parseJSON(data);
$("#result").html(resultado)
}
);
}
}
}).data('gridster');
});
</script>
</head>
<body>
<div id="homepage">
<div id="grid" style="height: 480px; position: relative; width:480px; ">
<div id="protlet-1" data-row="1" data-col="1" data-sizex="1" data-sizey="1" class="gs_w"><div>Test-one</div></div>
</div>
</div>
<div id="result"></div>
这是我的过程.php:
<?php echo $_POST["portlets"];?>
我可以提取该div 的 html 内容以外的所有内容,以便稍后动态重新创建。
谁能帮我?
谢谢
在执行serialize_params时,也捕获 html 内容。下面是一个显示相同内容的简单示例。
serialize_params: function($w, wgd)
{
return {
id: $($w).attr('id'),
col: wgd.col,
row: wgd.row,
size_x: wgd.size_x,
size_y: wgd.size_y,
htmlContent : $($w).html()
};
}
当您迭代 JSON 时,您必须构造结构。然后调用网格方法。