easyui 获取树的平级根节点的父节点&选择性展示树的一个根节点
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; } });