博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExtJS2.2树的级联选择
阅读量:6764 次
发布时间:2019-06-26

本文共 1237 字,大约阅读时间需要 4 分钟。

hot3.png

在做项目的时候要用到树的级联选择,在我的影响中貌似ExtJs 2.2没有自带的级联选择。然后就有了下面的代码:

tree.on('checkchange',function(node,checked){	selParent(node,checked);	selChild(node,checked);},tree);//这个方法是选择父节点,自动选中所有的子节点function selParent(node,checked){	if (node.hasChildNodes()) { 		node.eachChild(function(child) { 			child.attributes.checked = checked; 			var cb = child.ui.checkbox; 			if (cb){				cb.checked = checked;				selParent(child, checked); 			}		}); 	} }//这个方法是选择子节点,自动选中父节点的父节点 function selChild(node, checked){	if(checked){		var parentNode = node.parentNode;		if(parentNode != undefined){			parentNode.attributes.checked = checked; 			var cb = parentNode.ui.checkbox; 			if(cb){				cb.checked = checked;				selChild(parentNode, checked);			}		}	}else{		var flag = false;		if(node == null){			return;		}		var parentNode = node.parentNode;		if(parentNode != undefined){			if(parentNode.hasChildNodes()){				parentNode.eachChild(function(child){					var cd = child.attributes.checked;					if(cd == true){						flag = true;					}				});			}		}		if(!flag){			parentNode.attributes.checked = checked;			var cb = parentNode.ui.checkbox;			if(cb){				cb.checked = checked;				selChild(parentNode, checked);			}		}	}}

转载于:https://my.oschina.net/guanzhenxing/blog/232850

你可能感兴趣的文章