我已经使用gridster进行了一些测试,我可以保存一些网格数据,如coords,size,id等。
但是我无法保存填充gridster的div的内容,我可以稍后加载每个元素的gridster coords。
这是我的代码:
<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>
这是我的process.php:
<?php echo $_POST["portlets"];?>
我可以提取该div的所有html内容,以便以后动态重新创建。
任何人都可以帮助我吗?
谢谢
答案 0 :(得分:6)
在执行serialize_params时,也会捕获html内容。这是simple example显示相同的内容。
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时,您将必须构造结构。然后调用gridster方法。