jstree jquery插件 - 获取父节点的所有子节点和子子节点

2022-01-11 00:00:00 jquery-plugins javascript jstree

我正在使用 jsTree jquery 插件

我正在尝试获取选定父节点的所有节点和子节点.但不知何故,除非我使用递归,否则它不起作用.jsTree 有没有更好的方法?

I am trying to fetch all the nodes and sub nodes of a selected parent. But somehow it's not working unless I use recursion. Is there a better way inherent to jsTree?

推荐答案

我找到了一种方法.就我而言,我使用 xml 作为树的数据源.我通过以下方式将 open_node 事件绑定到 jstree.请注意,即使我使用的是 xml,内部结构也是 html 数据的结构.

I found a way to do this. In my case I am using xml as the datasource for the tree. I am binding the open_node event to the jstree in the following manner. Mind it that even though I am using xml, the internal structure is that of html data.

// jsTree Configuration hash
var jsTreeConfig = {};

$("#demo1").jstree( jsTreeConfig )
            .bind('open_node.jstree', function( e, data ) {
                var parentObj = data.rslt.obj; // parent object
                var jstreeInstance = data.inst; // jstree instance
                $(data.rslt.obj).find("li").each( function( idx, listItem ) {
                    var child = $(listItem); // child object
                    // do Stuff with child which can be any level of hierarchy depth
                    // ...
                });
            });

相关文章