0

私は jstree javascript プラグインを使用しており、非同期でデータをロードしています。このツリーのデータに検索を実装しようとしています。検索パラメーターに基づいて ID の配列を返す Web サービスがあります。ツリーは検索前にロードされません。ユーザーが検索をクリックすると、返された ID に基づいて、ID に対応するツリー内のノードを 1 つずつロード/開こうとしています。

for(var i = 0; i < ids.length; i++){
     $("#tree").jstree("open_node", document.getElementById(ids[i]));
}

ただし、ロードされるのはルート ノードのみです。IDの配列を使用してノードを1つずつロードする簡単な関数を提案できる人はいますか?

前もって感謝します。

4

1 に答える 1

0

jsTree がロードされていない場合は、jsTree のデータを作成するときに、ロード時に開いておきたいノードに対して "state" => "open" を使用できます。以下の例を参照してください - http://www.jstree.com/documentation/json_dataからコピーされたコード

{
    "data" : "node_title",
    // omit `attr` if not needed; the `attr` object gets passed to the jQuery `attr` function
    "attr" : { "id" : "node_identificator", "some-other-attribute" : "attribute_value" },
    // `state` and `children` are only used for NON-leaf nodes
    "state" : "closed", // or "open", defaults to "closed"
    "children" : [ /* an array of child nodes objects */ ]
}
于 2012-12-12T21:57:21.240 に答える