jstree:多次搜索并突出显示树中的所有搜索结果?

时间:2013-09-30 08:25:18

标签: jquery jqtree

有人知道是否可能以及如何在树中搜索关键字的所有出现,展开并突出显示所有结果及其到根元素的路径。

我在这里找到了一个单一搜索示例:https://github.com/mbraak/jqTree/issues/211

$('#search').click(
function() {
    var $tree = $('#tree1');
    var search_term = 'xyz';

    var tree = $tree.tree('getTree');

    tree.iterate(
        function(node) {
            if (node.name.indexOf(search_term) == -1) {
                // Not found, continue searching
                return true;
            }
            else {
                // Found. Select node. Stop searching.
                $tree.tree('selectNode', node, true);
                return false
            }
        }
    );
}
);

提前谢谢!

解决了!

1 个答案:

答案 0 :(得分:2)

当你找到什么东西时,不要停止搜索。

    tree.iterate(
    function(node) {
        if (node.name.indexOf(search_term) >= 0) {
            // Found. Select node. Do not stop searching.
            $tree.tree('selectNode', node, true);
            return true; // I think that might be optional
        }
    }

您还必须将树配置为在选中时自动打开节点。