首页 > PHP资讯 > HTML5培训技术 > Extjs4中tree组件查找所有父节点和查找所有子节点的递归方法

Extjs4中tree组件查找所有父节点和查找所有子节点的递归方法

HTML5培训技术
/*******************子节点和父节点级联操作************************/			'giveRightToRole treepanel':{				checkchange:function(node,checked,options){					//遍历孩子,递归实现找到所有孩子节点					var allChild=function(node,flag){						node.eachChild(function(n){							n.data.checked = flag;							n.updateInfo({checked:flag});							if(n.hasChildNodes())//胖墩是否有子节点								{									n.expand();									allChild(n,flag);								}						});					};					//递归实现找到所有父亲节点,并改为选中状态					var allParent=function(node,flag)					{						node.data.checked=flag;						node.updateInfo({checked:flag});						if(node.parentNode!=null)						{							allParent(node.parentNode,flag);						}					};					//递归实现找到所有父亲节点,并改为未选中状态					var allParentUnchecked=function(node,flag){						var i=0;						node.eachChild(function(n){														if(n.data.checked)							{									i=1;							}						});						if(i==0)						{							node.data.checked=flag;							node.updateInfo({checked:flag});						}						if(node.parentNode!=null)						{							allParentUnchecked(node.parentNode,flag);						}					};					if(node.data.leaf == false){//如果不是叶子节点						if(checked){						//打开节点							node.expand();							allChild(node,true);						}else{							node.expand();							allChild(node,false);						}					}else{				//是叶子节点						if(checked){//如果选中												allParent(node.parentNode,true);						}						else						{							allParentUnchecked(node.parentNode,false);						}					}				}			},

HTML5培训技术

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持30不支持0