jquery嵌套可排序-如何获取节点被删除的位置和父级

标签 jquery jquery-ui tree nested-sortable

我正在使用 jquery 插件 nested Sortable重新排序列表。 我想知道如何确定节点的父节点和插入位置。

我的问题是序列化函数总是在更新树之前返回树的状态。因此,当我将节点 1 从位置 2 移动到位置 3 并随后调用序列化时,它总是返回移动节点之前树的状态。

这是内置序列化函数和我发现的其他一些自定义函数的问题:serialize custom

我在 _mouseStop 函数末尾调用序列化函数。似乎这样做不是正确的位置...似乎内部保存了树的旧状态。因此问题可能是我如何刷新它..!?

_mouseStop: function(event, noPropagation) {
    ......
    $.ui.sortable.prototype._mouseStop.apply(this, arguments);
    //custom code added
    var ret = this.serialize({startDepthCount: 0});
    console.log(ret);

而当我从绑定(bind)到序列化函数的按钮调用序列化函数时,它工作正常。

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>

最佳答案

jQuery nestedSortable文档说“所有 jQuery 可排序选项、事件和方法都可用”。如果你看一下jQuery UI sortable doc在“事件”选项卡中,您会看到更新,我认为这是适合您的事件。

关于jquery嵌套可排序-如何获取节点被删除的位置和父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714299/

相关文章:

javascript - 如果其他按钮具有特定类别,则切换按钮

javascript - 如何使用 jquery 或 java 脚本访问父 div 和最接近该 div 的元素?

jquery - 如何在 Visual Studio 2010 MVC 2 Web 元素中添加 jQuery?

jquery - jPicker jQuery 颜色选择器插件

javascript - 图像在 safari 和 chrome 中缩放,但在 ff 和 opera 中不缩放

python - 树字符串到括号字符串

javascript - 带有 jquery ui 选项卡的 MVC 4

Wordpress 中的 jQuery CSS 冲突

c++ - 是否有必要让同一个QDomDocument创建的QDomElement来编写XML?

java - 按排序顺序获取树的所有叶子