我一直在尝试获取在 jsTree 中选择的节点的文本。我能够填充树并触发 onSelect 事件,但我无法找出单击了哪个节点。我在网上看到过使用 data.rslt.obj.attr("data")
的例子获取文本,但是这对我来说是未定义的。此外,当我尝试使用 .jstree('get_selected')
获取所选节点时我在对象的任何地方都找不到节点文本。如何获取节点文本?
这是我的 onSelect 回调函数:
function onSelect(event, data)
{
// Get the name of the equipment that was selected.
var selected_node = $("#equipment_tree").jstree('get_selected');
var equipment_name = data.rslt.obj.attr("data");
}
最佳答案
2018 年更新。
感谢@ProfK 的评论,新版本的 jstree 中的 API 发生了变化。在 jstree v3.1.0(或更早版本)中,API 已更改为:
$("#treeContainer").on(
"select_node.jstree", function(evt, data){
//selected node object: data.node;
}
);
对于 jstree 旧版本(2013 年之前)。
您可以通过以下方式获取选定的节点对象及其文本:
$("#treeContainer").bind(
"select_node.jstree", function(evt, data){
//selected node object: data.inst.get_json()[0];
//selected node text: data.inst.get_json()[0].data
}
);
关于javascript - jsTree onSelect 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218818/