首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Extjs tree 的级联取舍

2012-08-24 
Extjstree 的级联选择/** *树级联选择节点 */function changeAllNode( node,isCheck){allChild(node,isChe

Extjs tree 的级联选择
/**
*  树级联选择节点
*/
function changeAllNode( node,isCheck){
allChild(node,isCheck);
allParent(node,isCheck);
function allChild (nodec,isCheckc){
var chileNodes  = nodec.childNodes;
//alert(chileNodes.length);
Ext.Array.each(chileNodes,function(nd){
if(nd.hasChildNodes()){
nd.set('checked',isCheck);
allChild(nd,isCheckc);
} else {
nd.set('checked',isCheck);
}
});
}
  function allParent (nodep,isCheckp){
  if(!isCheckp){
      nodep.set('checked',isCheck);
  if(brothNodesIsTrue(nodep)){
//  兄弟节点有选中的节点
  } else{
      if(nodep.getDepth()>1){
  allParent(nodep.parentNode,isCheckp);
  }
  }
  } else{
  if(nodep.getDepth()>1){
  nodep.set('checked',isCheck);
  allParent(nodep.parentNode,isCheckp);
  } else{
  nodep.set('checked',isCheck);
  }
  }
  }
  function brothNodesIsTrue(node){
          var flag =false;
      var brothNodes=node.parentNode.childNodes;
      Ext.Array.each(brothNodes,function(bn){
if(bn.get('checked')){
flag =true;
return false;
}
});
return flag;
  }
}

热点排行