JQuery EasyUI tree 筛选结点

     function searchTreeNode() {
        var searchText = $("#searchDept").val();
        if (searchText == "")
            return;
        clearTreeNodeSearch();
        //获取根结点
        var root = $("#deptedit").tree("getRoot");
        var nodes = $("#deptedit").tree("getChildren", root.target);
        for (var i = 0; i < nodes.length; i++) {
            //只取第二层级
            if (nodes[i].id.indexOf("ke") > -1) {
                if (nodes[i].text.indexOf(searchText) == -1) {
                    //结点子项第三层级
                    var child = $("#deptedit").tree("getChildren", nodes[i].target)
                    var hasChlid = false;
                    for (var j = 0; j < child.length; j++) {
                        //判断是否有指定文本 没有则隐藏该结点
                        if (child[j].text.indexOf(searchText) == -1)
                            $(child[j].target).parents("li:eq(0)").css("display", "none");
                        else
                            hasChlid = true;
                    }
                    //隐藏父结点
                    if (hasChlid == false)
                        $(nodes[i].target).parents("li:eq(0)").css("display", "none");
                }
            }
        }
    }

    function clearTreeNodeSearch() { 
        $("#searchDept").val("");
        //显示所有结点
        var root = $("#deptedit").tree("getRoot");
        var nodes = $("#deptedit").tree("getChildren", root.target);
        for (var i = 0; i < nodes.length; i++) {
            $(nodes[i].target).parents("li:eq(0)").css("display", "");
        }
    }

 

posted @ 2013-03-18 22:38  csdnbbs  阅读(637)  评论(0编辑  收藏  举报