我使用jquery加载项nested Sortable重新排序列表。 我很想知道如何确定插入节点的父节点和位置。
我的问题是serialize函数在更新之前总是返回树的状态。因此,当我将节点1从位置2移动到位置3并且之后调用序列化时,它总是返回它在移动节点之前所具有的树的状态。
这是内置序列化函数和我发现的其他一些自定义函数的问题:serialize custom
我在_mouseStop函数的末尾调用了serialize函数。似乎这不是正确的位置...这似乎是内部,它保持树的旧状态。因此,问题可能是我如何刷新它......!?
_mouseStop: function(event, noPropagation) {
......
$.ui.sortable.prototype._mouseStop.apply(this, arguments);
//custom code added
var ret = this.serialize({startDepthCount: 0});
console.log(ret);
当我从绑定到serialize函数的按钮调用serialize函数时,它工作正常。
html结构类似于tutorial中使用的结构:
<ol class="sortable">
<li id="list_1"><div>Item 1</div>
<ol>
<li id="list_2"><div>Sub Item 1.1</div>
<li id="list_3"><div>Sub Item 1.2</div>
</ol>
<li id="list_4" class="no-nest"><div>Item 2 (no-nesting)</div>
<li id="list_5"><div>Item 3</div>
<ol>
<li id="list_6" class="no-nest"><div>Sub Item 3.1 (no-nesting)</div>
<li id="list_7"><div>Sub Item 3.2</div>
<ol>
<li id="list_8"><div>Sub Item 3.2.1</div>
</ol>
</ol>
<li id="list_9"><div>Item 4</div>
<li id="list_10"><div>Item 5</div>
</ol>
答案 0 :(得分:3)
jQuery nestedSortable文档说“所有jQuery可排序选项,事件和方法都可用”。如果您查看jQuery UI sortable doc事件标签,您会看到更新,我认为这是适合您的事件。