3

すべてのフォーム データを含む 1 つの巨大な入れ子になった JSON データ blob として最終的にまとめて送信される、複数の入れ子になった並べ替え可能なフォームで構成されるナビゲーション メニュー エディターを作成しようとしています。

私が調べている 2 つのライブラリは、nestableSortable ( https://github.com/mjsarfatti/nestedSortable ) と Nestable ( https://github.com/dbushell/Nestable ) です。これら 2 つのライブラリは、この種の作業で最も一般的に使用されるプロジェクトのようですが、これらのフォームをシリアル化およびネストするための機能が組み込まれているようには見えません。現在、どちらのライブラリでも、この機能を自分で構築する必要があると想定しています。

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 がこれをマークアップとは多少独立して処理する必要があると感じたからです。このため、Nestable ライブラリよりも nestedSortable を選択することになりました。

さらに、nestedSortable には、ツリー内のノードの left/right/parent 属性に使用可能なプロパティがあるように見えます。これは、ツリー操作を実行するときにサーバー側で役立つ場合があります。

于 2013-03-04T18:34:36.313 に答える
3

私はnestedSortableから始めて、次にnestableに切り替えました。IE7 まで互換性があるため (プロジェクトの要件)、nestedSortable に切り替えています。はい、nestable のよりミニマルな構造を理解するのは簡単ですが、これらの (優れた) ユーティリティのいずれかにコミットする前に、必ずターゲット ブラウザでテストしてください。

ところで、どちらもデータをシリアル化する機能を備えています (nestable には 1 つ、nestedSortable には複数あります)。

于 2013-03-30T01:00:45.467 に答える