gpt4 book ai didi

jstree - 如何在单击时刷新 `ajax` 节点?

转载 作者:行者123 更新时间:2023-12-04 06:18:21 25 4
gpt4 key购买 nike

有一些节点从 AJAX 获取数据 调用我的 jsTree。

如何刷新数据而不是通过重新加载整个树?

  • 最好是简单的点击 在我希望刷新的节点上
  • 上下文菜单也可以
  • 最佳答案

    这个怎么样?

    <html>
    <head>
    <script language="javascript" type="text/javascript" src="jquery.min.js"></script>
    <script language="javascript" type="text/javascript" src="jquery.jstree.js"></script>
    <script>
    var treeConfig = {
    "json_data" : {
    "data" : [{
    "data" : "Root",
    "state" : "closed",
    "children" : ""
    }],
    "ajax" : {
    "url" : "http://localhost/tree.json",
    "data" : function (node) {
    return { query : "Value" };
    }
    }
    },
    "plugins" : [ "themes", "json_data", "ui" ],
    };

    $(document).ready(function(){
    $("#treeContainer").jstree(treeConfig);

    $('#treeContainer a').live('click',function(){
    var tree = jQuery.jstree._reference("#treeContainer");
    var currentNode = tree._get_node(null, false);
    tree.refresh(currentNode);
    });

    });
    </script>
    </head>

    <body>
    <div id="treeContainer"></div>
    </body>
    </html>

    这是我在做什么:
  • 使用 JSON 数据插件(但 HTML 和 XML 插件的概念类似)
  • 从数据配置对象加载初始树节点(“Root”)
  • 设置 AJAX 配置对象,以便所有其他节点在最初打开时通过 ajax 请求其子数据(适用于“状态”为“关闭”且“子项”为“空”的任何节点)
  • 使用 AJAX 数据函数传递正确的查询字符串以获取正在打开的节点的相关数据。我的示例总是获取 http://localhost/tree.json?query=Value但是您可能想要执行一些操作,例如将 Value 设置为节点 ID,以便服务器发回相关数据。

  • 到目前为止,这仅在第一次打开节点时对节点数据发出ajax请求。最后一步是:
  • 创建一个单击函数,它会导致单个节点在每次单击时刷新其数据
  • 关于jstree - 如何在单击时刷新 `ajax` 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934778/

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