在jsTree中获取已检查的节点

我有一个基于JSON数据的工作JSTree,复选框插件显示每个项目旁边的框 – 到目前为止一切都很好。 现在我想知道用户检查了哪些节点,所以我可以对数据做些什么。

不幸的是,我还没有找到通过文档或网络搜索来实现这一目标的方法。 关于SO的一些答案说使用get_checked方法,但要么我真的缺少某些东西,要么我的JSTree版本没有(即该字符串不会出现在项目文件中的任何位置)。 我的版本是3.0.0,这是最新版本。

有人可以指点我a)如何获取检查项目,或b)如何访问树的一些可迭代表示,以便我自己抓住它们?

(我应该提到我对Javascript很新。)

以下是我如何设置树,它基于网站上的文档:

 var treeInit = { core: { data : [ /* all my data */ ] }}; treeInit.plugins = ["checkbox"]; $('tree_div').jstree(treeInit); 

我也遇到了与jstree 3.0.0版相同的问题。 我经过几个小时的冲浪后找到了一个简单的解 希望它能帮到别人。

 var result = $('#your_tree').jstree('get_selected'); 

该行返回所选值的数组。

我找到了答案。 通过调用$('#tree').jstree('get_json') ,您可以获得整个树的JSON表示。 从那里开始,通过树节点递归并抓住所有已检查的节点非常简单。 同样,这是针对3.0.0版本的(因为似乎API在不同版本中发生了很大变化)。