Javascript jsTree加载并单击

Javascript jsTree加载并单击,javascript,jquery,jstree,Javascript,Jquery,Jstree,关于jsTree,我有两个问题: 我正在使用JSON和struts2生成一个jsTree。第一次,树显示正确。但是在单击按钮时,我想将具有不同数据的树重新加载到同一个div中。在单击按钮时,我给出了第一次生成jstree时给出的相同操作名称 如果单击树的任何节点,则需要该节点的id,如果该节点有任何父节点,则还需要该节点的父节点id。如果父节点有父节点,则该父节点的id也有 范例 Parent 1 |__Parent 2 |__Child 1 我正

关于jsTree,我有两个问题:

  • 我正在使用JSON和struts2生成一个jsTree。第一次,树显示正确。但是在单击按钮时,我想将具有不同数据的树重新加载到同一个div中。在单击按钮时,我给出了第一次生成jstree时给出的相同操作名称

  • 如果单击树的任何节点,则需要该节点的id,如果该节点有任何父节点,则还需要该节点的父节点id。如果父节点有父节点,则该父节点的id也有

  • 范例

        Parent 1
           |__Parent 2
                |__Child 1
    

    我正在单击Child 1,然后我需要Child 1、Parent 2、Parent 1等的id。

    我不确定您是否真的浏览了文档,但这里有一些东西可以帮助您:

    对于第一个问题,您可以使用回滚: 刷新也可以是一个选项:

    对于第二个问题,您可以使用回调:

    。\u get\u parent
    也将帮助您:

    .\u获取\u父节点(节点)

    获取表示所传递节点的父级的LI元素。 失败时返回false。混合节点

    这可以是DOM节点、jQuery节点或指向元素的选择器 在树中,我们想要它的父对象


    有关更多详细信息,请参阅完整文档:

    我不确定您是否真的浏览了文档,但这里有一些东西可以帮助您:

    对于第一个问题,您可以使用回滚: 刷新也可以是一个选项:

    对于第二个问题,您可以使用回调:

    。\u get\u parent
    也将帮助您:

    .\u获取\u父节点(节点)

    获取表示所传递节点的父级的LI元素。 失败时返回false。混合节点

    这可以是DOM节点、jQuery节点或指向元素的选择器 在树中,我们想要它的父对象


    有关详细信息,请参阅完整文档:

    如果要获取节点的完整路径,可以使用get\u path

    // The true means it will return the ID's of the parent, therefore ALL NODES need an ID
    var parents = $("#your_jstree").jstree("get_path",$("#the_node"),true); 
    $.each(parents, function(k, v){
        // Log down the ID's
        console.log(v);
    });
    
    完整示例

    var ids = $(this).closest(".jstree").jstree("get_path", $(this), true);
    var path = "";
    $.each(ids, function (k, v) {
        if (k == 0) return;
    
        if (path != "")
            path += "/";
    
        path += clone.html();
    });
    

    将返回/parent 1/parent 2/Child 1

    如果要获取节点的完整路径,可以使用get\u path

    // The true means it will return the ID's of the parent, therefore ALL NODES need an ID
    var parents = $("#your_jstree").jstree("get_path",$("#the_node"),true); 
    $.each(parents, function(k, v){
        // Log down the ID's
        console.log(v);
    });
    
    完整示例

    var ids = $(this).closest(".jstree").jstree("get_path", $(this), true);
    var path = "";
    $.each(ids, function (k, v) {
        if (k == 0) return;
    
        if (path != "")
            path += "/";
    
        path += clone.html();
    });
    
    将返回/父1/父2/子1