在gridster中将调整大小后的小部件的维度序列化数据作为JSON获取

时间:2014-09-03 07:53:39

标签: jquery json gridster

我正在尝试在更改框的大小和位置后序列化JSON数据。但我只收到了负载细节。如何在调整框大小后获取序列化数据。而且我还希望获得该框的文本(框中的值)。

这是我的代码:

  $(function() {

  var gridster = $(".gridster > ul").gridster({
      widget_margins: [10, 10],
      widget_base_dimensions: [230, 160],
      helper: 'clone',
      resize: {
          enabled: true,

      },
      serialize_params: function($w, wgd) {
          return {
              text: $($w).attr('.drop'),
              col: wgd.col,
              row: wgd.row,
              size_x: wgd.size_x,
              size_y: wgd.size_y
          };
      }

  }).data('gridster');

  //serialization//

  var gridster = $(".gridster > ul").gridster().data('gridster');
  gridData = gridster.serialize();
  /*alert(gridData.toSource())*/

  $('.js-seralize').on('click', function() {
      alert(gridData.toSource());
  });

  //delete//

  $(".del_img").click(function() {
      gridster.remove_widget($(this).parent());
  });
});

请检查此link

请帮助。

提前致谢。

1 个答案:

答案 0 :(得分:2)

删除此

 serialize_params: function($w, wgd) {
          return {
              text: $($w).attr('.drop'),
              col: wgd.col,
              row: wgd.row,
              size_x: wgd.size_x,
              size_y: wgd.size_y
          };

试试这个,然后你会得到你需要的东西

 $('.js-seralize').on('click', function() {
                   // alert(gridData.toSource())
                   var finalserializer="[";
                   $('.re_boxes').each(function(){
                    var xaxisval = $(this).attr("data-sizex");
                    var yaxisval = $(this).attr("data-sizey");
                    var colval = $(this).attr("data-col");
                    var rowval = $(this).attr("data-row");
                    var coltitle = $(this).find("a").text();
                    var currentfinal = "{'col':"+colval+",'row':"+rowval+",'size_x':"+xaxisval+",'size_y':"+yaxisval+",'text:'"+coltitle+"}";
                    finalserializer = finalserializer+currentfinal;
                   });
                   finalserializer=finalserializer+"]";
                   alert(finalserializer);
                 });