我的网站上有一个奇特的树解决方案,我希望有一个触发特定节点的按钮。
我可以通过单击按钮激活特定节点,还是在加载花式树后触发它?
我的花哨代码:
$("#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();
答案 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);
}