Jquery可排序序列化程序提供了一个空对象数组

Jquery sortable serialize gives array of empty objects

本文关键字:一个 数组 对象 排序 序列化 程序 Jquery      更新时间:2023-09-26

我正在使用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/对我不起作用。它给了我一个空对象数组,而我希望该数组按排序顺序包含<li>对象。

@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');
  }
});

问题是默认的序列化函数没有返回我们预期的结果,所以我创建了一个自定义函数,很像上面的例子("具有有限丢弃目标的连接列表")

这是更新的fiddle

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

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