【问题标题】:nestableSortable vs Nestable JS library可嵌套排序与可嵌套 JS 库
【发布时间】:2013-02-18 20:12:18
【问题描述】:

我正在尝试创建一个导航菜单编辑器,其中包含多个嵌套的、可排序的表单,这些表单最终将作为一个包含所有表单数据的巨大嵌套 JSON 数据块整体提交。

我正在研究的两个库是 nestableSortable (https://github.com/mjsarfatti/nestedSortable) 和 Nestable (https://github.com/dbushell/Nestable)。这两个库似乎是此类工作最常用的项目,但似乎都没有用于序列化和嵌套这些表单的内置功能。现在我假设任何一个库都需要我自己构建这个功能。

Nestable 似乎更新了一些,并且不依赖于 JQuery-UI,而 nestableSortable 似乎功能更丰富了一些。我还想知道是否有人对嵌套表单有类似的问题,以及他们是否有关于如何让这些库中的任何一个轻松将嵌套表单序列化为 JSON 结构的提示,以及这些库中的任何一个是否更适合这样一个项目。

【问题讨论】:

  • 搜索该主题的用户还应该被告知存在两个 Nestable 的分支 - RamonSmit 的分支,github.com/RamonSmit/Nestable2 - 和 ImLiam 的 RS 分支的分支(目前似乎还在维护):@987654324 @。除了用于部署可嵌套模型类型排序/搜索的父级之外,这两个似乎都执行 lft/rgt 属性(与邻接模型相反)。

标签: javascript jquery json nested-forms mptt


【解决方案1】:

如果有人有兴趣,经过进一步检查,我发现 Nestable 需要这种格式才能工作:

<div class="dd">
    <ol class="dd-list">
        <li class="dd-item" data-id="1">
            <div class="dd-handle">Item 1</div>
        </li>
    </ol>
</div>

对于 JS 库对必需元素属性的要求如此严格的想法,我并不特别满意,因为我觉得 Javascript 应该在某种程度上独立于标记来处理这个问题。因此,我最终选择了 nestedSortable 而不是 Nestable 库。

此外,nestedSortable 似乎具有树中节点的左/右/父属性的可用属性,这在服务器端执行树操作时可能会有所帮助。

【讨论】:

  • 对上述主要问题的评论中提到的可嵌套分支具有 lft/rgt 属性设施,但我尚未尝试部署它们。
【解决方案2】:

我从 nestedSortable 开始,然后切换到可嵌套。我现在切换回nestedSortable,因为它兼容IE7(项目要求)。是的,很容易理解更简约的可嵌套结构,但是,在使用这些(优秀的)实用程序之前,请务必使用您的目标浏览器进行测试。

顺便说一句,两者都具有序列化数据的能力(nestable 有一个,nestedSortable 有多个)。

【讨论】:

    猜你喜欢
    • 2013-08-18
    • 2011-02-18
    • 2016-05-15
    • 2010-10-31
    • 1970-01-01
    • 2012-06-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多