zoukankan      html  css  js  c++  java
  • 给定treeData,根据关键字进行过滤:显示父级元素;如果节点被选中,那它的子节点也全部被选中

    //参数为需要进行过滤的tree和模糊查询关键字
    function searchDataSet(value) {
        //获取tree数据
        var treeData = new Array();
        var newTreeData = new Array();
        $.ajax({
            url: '/core/dataset/getTree/',
            method: 'get',
            async: false,
            success: function (data) {
                treeData = data;
            }
        });
    
        //将数据进行过滤
        if (treeData) {
            newTreeData = getNewTreeData(treeData, value);
        }
    
        //给tree加载新数据
        $("#businessTree").epaitree({
            loadFilter: function (data) {
                if (value) {
                    return newTreeData;
                } else {
                    return data;
                }
            }
    
        });
    }
    
    function getNewTreeData(treeData, value) {
        if (!treeData) {
            return null;
        }
        var newTreeData = new Array();
        var node = null;
        var children = null;
        var text = "";
        for (var i = 0; i < treeData.length; i++) {//多个根节点开始遍历
            node = treeData[i];
            if (node.children) {
                children = node.children;
            }
            text = node.name;
            if (text.indexOf(value) > -1) {
                newTreeData.push(node);
                continue;
            } else {
                if (children) {
                    var newNodes = getNewTreeData(node.children, value);
                    if (newNodes.length > 0) {
                        node.children = newNodes;
                        newTreeData.push(node);
                    }
                }
            }
    
        }
        return newTreeData;
    }
  • 相关阅读:
    VS2010 安装MVC3
    MVC3教程之新手入门(转)
    MVC工作原理
    MVC开发人员必备的五大工具
    MVC3简介
    C#中各种字符类型的转化
    c#中设置Excel单元格格式
    浪子
    累了,再见
    利用HttpHandler处理自定义控件中需要引用大量js文件问题
  • 原文地址:https://www.cnblogs.com/time-on/p/7839349.html
Copyright © 2011-2022 走看看