mur*_*rze 24 javascript jquery jstree
如何在jsTree中获取所选节点的id ?
function createNewNode() {
alert('test');
var tree = $.tree.reference("#basic_html");
selectedNodeId = xxxxxxxxx; //insert instruction to get id here
tree.create({ data : "New Node Name" }, selectedNodeId);
}
Run Code Online (Sandbox Code Playgroud)
Bra*_*rad 98
由于无法使用harpo的解决方案,并且不愿意使用Olivier的解决方案,因为它使用内部的jsTree函数,我提出了一种不同的方法.
$('#tree').jstree('get_selected').attr('id')
Run Code Online (Sandbox Code Playgroud)
就这么简单.该get_selected
函数返回一个选定列表项的数组.如果.attr
对该数组执行操作,jQuery将查看列表中的第一项.如果您需要多个选择的ID,请将其视为数组.
har*_*rpo 11
jsTree中的节点基本上是包装列表项.这将为您提供第一个参考.
var n = $.tree.focused().get_node('li:eq(0)')
Run Code Online (Sandbox Code Playgroud)
$.tree.focused()
如果您有对树的引用,则可以替换.
要获取id,请使用第一个匹配的元素
if (n.length)
id = n[0].id
Run Code Online (Sandbox Code Playgroud)
或者您可以使用jQuery attr函数,该函数适用于集合中的第一个元素
id = n.attr('id');
Run Code Online (Sandbox Code Playgroud)
tip*_*low 11
在jstree
版本中3.1.1
,您可以直接从get_selected
以下位置获取:
$("#<your tree container's id>").jstree("get_selected")
Run Code Online (Sandbox Code Playgroud)
在最新版本的 jsTree(在 3.3.3 中检查)中,您可以这样做来获取 ID 数组:
var ids = $('#tree').jstree('get_selected');
Run Code Online (Sandbox Code Playgroud)
例如,这将返回["selected_id1", "selected_id2", "selected_id3"]
. 如果要获取选定的节点(而不是 ID),可以执行以下操作:
var nodes = $('#tree').jstree('get_selected', true);
Run Code Online (Sandbox Code Playgroud)
在当前文档包含更多信息。
归档时间: |
|
查看次数: |
76122 次 |
最近记录: |