0

Jstreeを使用してツリー構造を表現したい。サーバーが jstree 準拠の形式でデータを返さないという問題に直面しています。これは通常の Json です。

私が実装した 1 つの解決策は、json_data.ajax.successコールバックを使用してデータを変更し、必要な形式にすることです。ただし、この関数はコンテキスト情報を取得しません。そのため、どのノードがロードされているかがわからず、受信したデータをどのように変換する必要があるかもわかりません。

ノード間で異なる動作を可能にするtypesプラグインがあることを確認しました。たとえば、対応するアイコンを表示します。このプラグインを使用して、ノード タイプごとに異なる ajax-success-handlers を追加することはできますか? そうでない場合、他にどのような解決策がありますか?

$("#tree").jstree({
    "plugins": ["json_data", "themes", "types"],
    "json_data": {
        "ajax": {
            "url": function (n) {   // want to make this type-dependent.
                if (n === -1) {
                    return "...";
                } else if ( ... ) {
                    return "...";
                }
            },
            "success": function (data) {    // want to make this type-dependent
                var result = [];
                $.each(data, function (index, value) {
                    "data": "......",
                    "attr": {
                        "id": ".................",
                        "rel":  "..............."
                    }
                });
                return result;
            }
        }
    }
}
4

1 に答える 1

1

サーバーサイトでjsTreeのjsonデータを作成し、サーバーでもう一度処理してjsTreeの属性を追加すると、タイププラグインを使用できます。

于 2012-10-24T21:18:38.507 に答える