3

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

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

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

4

2 回答 2

5

如果有人感兴趣,经过进一步检查,我发现 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 似乎具有树中节点的左/右/父属性的可用属性,这在服务器端执行树操作时可能会有所帮助。

于 2013-03-04T18:34:36.313 回答
3

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

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

于 2013-03-30T01:00:45.467 回答