ext treepanel 级联选择

ext treepanel 实现:全选,全部取消,子节点全部选中,父节点自动选中。
网上查到的,会发现不太好用。
分享代码。


//省略构造树和树的加载器的代码
var INDEX_CATEGORY_CHECKING = false;
ADDRESS_NAMESPACE.tree_dept.on('checkchange', function(node, checked) {
if (!INDEX_CATEGORY_CHECKING) {
INDEX_CATEGORY_CHECKING = true;
checkchild(node,checked);
checkparent(node);

INDEX_CATEGORY_CHECKING=false;
}
});
function checkchild(node,checked){
node.eachChild(function(child)
{
//debugger;
if(child.childNodes.length>0){
checkchild(child,checked);//递归
}
//child.on('checkchange',function(node, checked){return false});
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
//child.fireEvent('checkchange', child, checked);

});
}
function checkparent(node){
if(!node){return false;}
var parentNode = node.parentNode;

if(parentNode !== null) {
var isall=true;
parentNode.eachChild(function(n){
if(!n.attributes.checked){
isall=false;
}
});
if(isall){
parentNode.ui.toggleCheck(isall);
parentNode.attributes.checked = isall;
}else{
parentNode.ui.toggleCheck(isall);
parentNode.attributes.checked = isall;
}
}
checkparent(parentNode);//递归
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值