EXTJS学习笔记----EXTJs中带复选框的tree,选中父节点时所有子节点也被选中

本文介绍了一种在树形结构中实现当父节点被选中时,其所有子节点也会相应地被选中的方法。通过递归地遍历每个子节点并设置其选中状态来实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


// 当选中父节点时,让其子节点相应选中
contacterTree.on('checkchange', function(node, checked) {
node.expand();
node.attributes.checked = checked;
node.eachChild(function(child) {
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
child.fireEvent('checkchange', child, checked);
});
}, contacterTree);







第二种

'checkchange' : function(node, checked) {
win.treepnl.suspendEvents(false);
//后加的树展开选中函数,存在递归调用,有待提取。
node.expand();
node.attributes.checked = checked;
node.eachChild(function(child) {
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
child.fireEvent('checkchange', child, checked);
if(child.hasChildNodes()){
child.expand();
child.eachChild(function(childs) {
childs.ui.toggleCheck(checked);
childs.attributes.checked = checked;
childs.fireEvent('checkchange', childs, checked);
if(childs.hasChildNodes()){
childs.expand();
childs.eachChild(function(childss) {
childss.ui.toggleCheck(checked);
childss.attributes.checked = checked;
childss.fireEvent('checkchange', childss, checked);
});
}
});
}
});




3


'checkchange' : function(node, checked) {
win.treepnl.suspendEvents(false);
//后加的树展开选中函数,存在递归调用,有待提取。
node.expand();
node.attributes.checked = checked;
node.eachChild(function(child) {
child.ui.toggleCheck(checked);
child.attributes.checked = checked;
child.fireEvent('checkchange', child, checked);
if(child.hasChildNodes()){
child.expand();
child.eachChild(function(childs) {
childs.ui.toggleCheck(checked);
childs.attributes.checked = checked;
childs.fireEvent('checkchange', childs, checked);
if(childs.hasChildNodes()){
childs.expand();
childs.eachChild(function(childss) {
childss.ui.toggleCheck(checked);
childss.attributes.checked = checked;
childss.fireEvent('checkchange', childss, checked);
});
}
});
}
});
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值