按钮点击时Fancytree激活节点

时间:2015-01-29 10:36:06

标签: javascript jquery fancytree

我的网站上有一个奇特的树解决方案,我希望有一个触发特定节点的按钮。

我可以通过单击按钮激活特定节点,还是在加载花式树后触发它?

我的花哨代码:

  $("#tree").fancytree({ //Fancy Tree
        checkbox: false,
        selectMode: 3,
        extensions: ["dnd"],
        source: {
            url: "@(Url.Action("GetCategoryForFancyTree", "LinksDocuments"))" + '?time=' + timestamp,
                success: function(data){

                    console.log(data);
                },
                cache: true
            }
     });

我看到这个代码可能我可以使用,但我不知道节点的节点密钥,我怎么能检索密钥?

$("#tree").fancytree("getTree").getNodeByKey("id4.3.2").setActive();

1 个答案:

答案 0 :(得分:6)

.getNodeByKey只是期望节点元素的“id”。例如,要从以下示例中获取“示例节点”,只需为每个元素设置id:

<div id="tree">
    <ul>
        <li id="123">Sample Node</li>
    </ul>
</div>

使用类似的东西激活它:

$("#tree").fancytree("getTree").getNodeByKey("123").setActive();

我建议将此添加到“init:function(){}”,否则如果树仍在加载/构建,则可能无法激活。

也可以在“init:”中使用以下内容,也应该这样做。

data.tree.activateKey("123")

最后,如果您还不知道,请获取密钥:

click: function (event, data) {
    var node = data.node;
    alert("ID: " + node.key);
}