Jquery sortable serialize提供了一些空对象

时间:2013-08-28 04:06:52

标签: javascript jquery jquery-ui-sortable

我正在使用http://johnny.github.io/jquery-sortable/而不是Jquery UI可排序。

我的完整代码在这里: http://jsfiddle.net/shankardevy/XwkxH/2/

jQuery('.draggable').sortable({
  onDrop: function (item, container, _super) {
    console.log($('.draggable').sortable("serialize").get());
    _super(item, container)
  }
})

我的问题是,在上面的代码中,http://johnny.github.io/jquery-sortable/中记录的sortable('serialize')对我不起作用。它给了我一个空对象数组,而我希望数组按顺序包含<li>个对象。

2 个答案:

答案 0 :(得分:3)

@ sza的答案会很好用,我仍然设法让它使用插件选项:

jQuery('.draggable').sortable({
  onDrop: function (item, container, _super) {
      console.log(container.el.sortable("serialize").get());
    _super(item, container);
  },
  serialize: function (parent, children, isContainer) {
    return isContainer ? children.join() : parent.attr('id');
  }
});

问题是默认的序列化函数没有返回我们预期的结果,所以我创建了一个自定义的,就像上面一个例子中的那个(“连接列表有限的放置目标”)

这是 updated fiddle

答案 1 :(得分:2)

您可以通过调用.children()来获取所有<li>

var li_list = $('.draggable').children();