3

我正在使用 Jstree 插件,我想获取所选节点的所有子节点而不展开它。我用谷歌搜索了一下,知道可以使用下面的代码来完成。

已检查 = $("#tree").jstree("get_checked",null,true) ;

但它对我不起作用,我需要先展开/打开节点才能获得它的孩子。

这是我正在使用的示例代码

$("#treeview-CarrierGroup").jstree("get_checked", null, true).each(function (item) { alert($(this).attr("id")); });

请让我知道是否可以在不展开/打开的情况下获取所选父节点的子节点。

感谢

4

2 回答 2

2

看起来您开始使用错误的方法。.get_checked ( context, get_all )是复选框插件的一部分。你想要._get_children ( node )jstree1 核心的文档

此外,如果您使用延迟加载并且未加载节点,您将无法以这种方式获取其子节点,因为它们根本不存在。这可能就是您在扩展节点之前和之后看到差异的原因。对此有多种解决方案:

您可以在获取子节点之前手动加载节点。

或者,如果您只是在子列表之后并且不需要在 jstree 中将其可视化,则可以使用另一个 ajax 调用来独立于 jstree 获取此信息。

于 2014-07-09T10:02:22.347 回答
0
$('#tree').find('.jstree-node')
于 2016-01-19T03:11:58.960 回答