gpt4 book ai didi

php - jsTree异步搜索——触发加载新节点

转载 作者:可可西里 更新时间:2023-11-01 01:02:26 24 4
gpt4 key购买 nike

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

jsTree's search plugin documentation说:

so in your response you must return the path to the node (without the node itself) as ids: ["#root_node","#child_node_3"]

...所以,我的服务器端搜索功能正在返回匹配节点的路径,就像这样(是的,我正在 json_encodeing 它):

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

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

我在 Stack 上看到过类似的问题,但没有任何答案。我重新发布是因为我需要了解它是如何工作的,并且除了搜索插件文档之外没有找到太多关于如何使用 jsTree 进行异步搜索的信息。

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

最佳答案

我已经弄明白了。我的问题是我返回了多个数组,其中包含到每个匹配节点的路径,如下所示:

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

事实证明,jsTree 的搜索插件A 只需要一个单级数组,而B 将加载该数组中列出的所有节点,路径顺序不会'不必像文档中建议的那样完全准确。

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

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

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

最后没什么特别的,但我认为 jsTree 文档应该对这个问题有更多的描述,因为我看到其他人有同样的问题但没有答案。

关于php - jsTree异步搜索——触发加载新节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20310156/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com