您的位置:首页 > 产品设计 > UI/UE

Easyui tree扩展tree方法获取一级子节点

2016-01-29 13:32 330 查看
Easyui Tree插件获取子节点的时候用的getChildren方法,但是这个方法获取到的节点却是级联获取了子节点下的子节点,但是在有些时候,我们并不希望他返回这么多。我们只想获取目标节点的一级子节点,那么就我们就需要扩展我们自己的方法了。

这里我扩展了这个方法(getLeafChildren):

$.extend($.fn.tree.methods,{
getLeafChildren:function(jq, params){
var nodes = [];
$(params).next().children().children("div.tree-node").each(function(){
nodes.push($(jq[0]).tree('getNode',this));
});
return nodes;
}
});

 

 具体的用法和getChildren方法是一样的,只是这个只返回目标节点的第一级子节点。

例把省市县下拉列表展开到市级:

 function expandNode(){
  var combotree_org=$('#admin_elecmg_activity_plan_orgNo').combotree('tree');
  combotree_org.tree('collapseAll');//折叠所有节点
  /**方法一:根据省id展开**/
//   var root=combotree_org.tree('getRoot');//获取根节点
//   combotree_org.tree('expand', root.target);//展开根节点
//   var node = combotree_org.tree('find', 41101);//找到获取国网河南省电力公司
//   combotree_org.tree('expand', node.target);//展开国网河南省电力公司
  
  /**方法二:由根开始遍历一级一级的展开,展开到市级**/
  var roots=combotree_org.tree('getRoots'),children=null,i,j;
  for(i=0;i<roots.length;i++){
   combotree_org.tree('expand', roots[i].target);
   children=combotree_org.tree('getLeafChildren',roots[i].target);
   for(j=0;j<children.length;j++){
    combotree_org.tree('expand', children[j].target);
   }
   alert(children.length);
  }
  /**展开到县级**/
//   var roots=combotree_org.tree('getRoots'),children=null,children2=null,i,j,k;
//   for(i=0;i<roots.length;i++){
//    combotree_org.tree('expand', roots[i].target);
//    children=combotree_org.tree('getLeafChildren',roots[i].target);
//    for(j=0;j<children.length;j++){
//     combotree_org.tree('expand', children[j].target);
//     children2=combotree_org.tree('getLeafChildren',children[j].target);
//     for(k=0;k<children2.length;k++){
//      combotree_org.tree('expand', children2[k].target);
//     }
//    }
//   }
 }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: