jsTree异步搜索 – 触发加载新节点

我有一个很好的运行jsTree实现在我的项目上运行。 JSON数据由PHP / Ajax提供。 我在使用搜索插件时遇到了一些麻烦。

jsTree的搜索插件文档说:

所以在你的响应中你必须返回节点的路径(没有节点本身)作为ids:[“#root_node”,“#child_node_3”]

…所以,我的服务器端搜索function正在返回匹配节点的路径(是的,我是json_encode ):

 Array( '#1', '#2', '#3', '#5' ); // to match node #10 (leaf node) at the end 

当这些值已经存在于DOM中时,客户端搜索function正常工作,但是我无法使jsTree遵循此数组(或数组)中提供的路由,以在元素尚不存在时填充树(例如,只有根节点打开时)。

我在Stack上看到了类似的问题,但没有任何答案。 我正在重新发布,因为我需要了解它是如何工作的,并且在搜索插件文档之后没有找到有关如何将jsTree与异步搜索结合使用的信息。

基本上我想要它做的是使用我的搜索函数返回的数组来触发jsTree的加载事件(类似于load_node_json ) – 我会认为这应该直接开箱即用,但我遇到了麻烦。 我刚刚插入了jsTree文档中的示例代码。

我已经弄清楚了。 我的问题是我正在返回包含每个匹配节点的路径的多个数组,如下所示:

 Array( Array('#root', '#child', '#sub-child'), Array('#root', '#child', '#second-sub') ) 

事实certificate,jsTree的搜索插件A只需要一个单级数组, B将加载该数组中列出的所有节点,路径顺序不一定非常准确,就像文档可能建议的那样。

所以相反,在我的JSON中,我返回一个包含唯一节点ID的数组,如下所示:

 Array( '#root', '#child', '#sub-child', '#second-sub' ) 

…并且搜索插件正在按预期加载节点。

最后没有什么花哨的东西,但我认为jsTree文档在这个问题上应该更具描述性,因为我看到其他人有同样的问题,没有答案。