easyui 获取树的平级根节点的父节点&选择性展示树的一个根节点

时间:2022-01-18 19:35:01

1.easyui的树的根节点一般是几个平级的,怎样获取这些父节点的id?

可以将获取到的平级根节点放在一个数组中

var roots=[];

roots=$("#tree1").tree("getRoots",node.target);

这样得到的roots是一个包含了所有平级的根节点的数组

然后就可以遍历这个数组

for(var i=0;i<roots.length;i++){ 

       roots[i].id

}

2.怎样选择性地展示easyui树的一个根节点?

思想:过滤->loadFilter,loadFilter可以返回过滤后的数据进行展示

背景:点击一个树的根节点,可以在此根节点下点击它的任意子节点,在这些子节点的界面中展示另一个树(要与前面的树的根节点id一致)

解决方案:

一个树的根节点,以及子节点的id的命名方式都是这样的,如根节点id:“001”,子节点id:"001XXX"

因此可以截取这些节点的id的前三位,用substr(0,3),作为过滤时候判断的依据

//第一个树
    $("#tvMeta1").tree({
        url:"mvc/getModelTree.html",
        method:"post",
        lines:false,
        onClick:function(){
        
        }
    });
    //第二个树
    $("#tvMeta2").tree({
        url:"mvc/getChildren.html",
        method:"post",
        lines:false,
        onClick:function(){
        
        },
        loadFilter:function(data){
            var noderm=$("#tvMeta1").tree("getSelected");
            var nodeId=noderm.id;
            var nodesub=nodeId.substr(0,3);//截取到前三位,nodesub是一个字符串
            for(i=0;i<data.length;i++){
                if(data[i].id == nodesub){
                //使用数组存放过滤后的数据
                    var newData=new Array();
                    newData.push(data[i]);
                    return newData;
                }
            }
            return data;
        }
    });