检查是否所有节点都已扩展 - jstree

时间:2017-10-02 10:20:28

标签: javascript jquery jstree

我正在使用jstree库,并且我试图了解如何在展开一个节点后检查树是否已将所有节点展开。为了设置开关开/关天气,我想使用此功能扩展所有节点或不扩展所有节点。

2 个答案:

答案 0 :(得分:1)

如果要检查所有节点是否处于折叠状态或至少扩展了一个节点,则可以使用以下检查。

$('#btnCheck').click(function () {
    $('#status').text("No - all nodes are collapsed");
    if($('#SimpleJSTree li.jstree-open').length)
    {
        $('#status').text("Yes - there is expanded node");
    }
 });

其中jsTree id是SimpleJSTree,jstree-open类用于扩展节点。

完整示例,您可以参考https://everyething.com/jsTree-check-for-any-expanded-node

答案 1 :(得分:0)

实际上有一个使用jsTree after_open 事件的解决方案(我尝试使用show_all事件,但这对我不起作用):

http://jsfiddle.net/softxide/1fnbzjjf/15/

$('#container').on('after_open.jstree', function(e, data) {
        var closed_count = $(".jstree-closed").length;
        if(closed_count == 0)
        {
            alert("all opened");
        }

             }).jstree();