【问题标题】:jsTree AJAX search with some node childs?jsTree AJAX 搜索与一些节点子节点?
【发布时间】:2015-07-27 06:24:07
【问题描述】:

我尝试在 jsTree 中实现 ajax 搜索,但仅限于根节点之一。

我阅读了文档,发现了一些关于:

$.jstree.defaults.search.ajax

一个str(即搜索字符串)参数将与请求一起添加,如果搜索仅限于节点id,将添加一个可选的内部参数。

我的 SEARCH AJAX 配置:

        "search": {
        // search config
        "show_only_matches": true,
          'ajax': {
            'url': "/ajax/root-nodes"
          }
        },

jsSearch 调用:

$tree.jstree(true).search(searchText);

我还使用延迟加载子节点。

有人这样做吗?

【问题讨论】:

    标签: jstree jstree-search


    【解决方案1】:

    在您的通话中,您并未将搜索限制在特定节点:
    http://www.jstree.com/api/#/?q=search%28&f=search%28str%20[,%20skip_async]%29

    例如,如果您的根节点 ID 是“root1”,请使用:
    $tree.jstree(true).search(searchText, false, true, 'root1');

    一旦调用search 函数,将根据您的配置发出 AJAX 请求。因此,在您的情况下,如果用户搜索 "foo" - 这将是一个带有两个参数的 GET 请求 - strinside:
    GET /ajax/root-nodes?str=foo&inside=root1

    您的响应应该是一个 JSON 数组,包含所有需要加载(和打开)的唯一父 ID。您可能希望通过执行服务器端搜索、收集每个匹配项的父项,然后将它们组合到一个数组中来构建这个数组(只留下唯一的条目):
    ["root1","somenode"]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多