var treegrid = $2("formList");
var root = treegrid.getRootNode();
var searchTree = function(node,arr ,checked){
node.eachChild(function(node){
for(var i = 0; i < arr.length; i++){
if(node.attributes.guId == arr[i]){
node.ensureVisible();//子节点里面父节点是否全部展开
var tempId = node.id;
(function(id){
return function(){
var tempNode = treegrid.getNodeById(id);
if(checked){
tempNode.enable();
}else{
tempNode.disable();
}
}
})(tempId).defer(500);//node,tempId会因为不断的循环而改变,这里做一个闭函数,将参数锁定,写法比较复杂,经常会遇到这种情况,不知道还有没有别的好方法
}
}
if(node.hasChildNodes()){
searchTree(node,arr,checked);
}
});
}
searchTree(root,arr,checked);
一段extjs代码,包含了很多js的知识
最新推荐文章于 2024-03-09 15:15:54 发布