如何使用一组id打开jstree中的节点?

时间:2012-12-10 19:28:54

标签: javascript jstree

我正在使用jstree javascript插件,我正在异步加载数据。我正在尝试对此树的数据进行搜索。我有一个Web服务,它根据搜索参数返回一组id。搜索前未加载树。当用户点击搜索时,根据返回的ID,我试图逐个加载/打开树中的节点。

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

但是,只加载了根节点。任何人都可以建议一个简单的函数,使用一组id来逐个加载节点吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果未加载jsTree,则可以使用“state”=&gt;在为jsTree构建数据时,为要加载时打开的节点“打开”。请参阅以下示例 - 从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 */ ]
}