Javascript 试图仅显示匹配项时出现jstree网格问题

Javascript 试图仅显示匹配项时出现jstree网格问题,javascript,jstree,jstree-search,Javascript,Jstree,Jstree Search,我正在使用jstree,内置搜索插件和jstree网格插件。我试图做的是在搜索中使用show_only_matches选项,这样只显示匹配的节点,其余节点隐藏。这就是我的问题所在 我正在使用jstree网格插件,即使搜索工作正常,网格也会出现故障。它不会像您预期的那样隐藏额外的行信息。例如,有一个根节点root,它有3个子节点;child1、child2、child3,如果搜索child3,则会打开根目录并仅显示child3。但是,仍会显示child1和child2的栅格值 下面的图片链接就是一

我正在使用jstree,内置搜索插件和jstree网格插件。我试图做的是在搜索中使用show_only_matches选项,这样只显示匹配的节点,其余节点隐藏。这就是我的问题所在

我正在使用jstree网格插件,即使搜索工作正常,网格也会出现故障。它不会像您预期的那样隐藏额外的行信息。例如,有一个根节点root,它有3个子节点;child1、child2、child3,如果搜索child3,则会打开根目录并仅显示child3。但是,仍会显示child1和child2的栅格值

下面的图片链接就是一个例子。搜索test2只显示test2子项,但每个学校下都有2个测试,隐藏的测试信息仍在显示


这是我现在用来显示/隐藏适当网格值的工具,它只是稍微改变了搜索功能

    $('#treeSearch').keyup(function () {
        if(to) { clearTimeout(to); }
        to = setTimeout(function () {
            var v = $('#treeSearch').val();
            $('#jstree').jstree(true).search(v);

            //hide/show grid values for nodes affected by searching
            var hidden = $('ul li:hidden');
            var visible = $('ul li:visible');

            $.each(hidden, function(i){
                $('div[id*=' + hidden[i].id + ']').hide();
            });

            $.each(visible, function(i){
                $('div[id*=' + visible[i].id + ']').show();
            });

        }, 500);
    });