1

我正在使用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>按排序顺序的对象。

4

2 回答 2

4

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

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

这是更新的小提琴

于 2013-08-28T05:35:50.717 回答
2

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

var li_list = $('.draggable').children();
于 2013-08-28T04:59:05.157 回答