extjs实现tree选中一个节点同时选中父节点和其子节点

dm520 dm520 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在有多层节点的tree 要实现 选择一个节点 将其父节点选择且将其所有的子节点选择,


但其一的话我现在是实现了 但是就是放在一起同时实现不了 算法太难了 主要是嵌套


选中父节点:

tree.on('checkchange', function(node, flag) {
// 所有父节点选中
if (node.parentNode.id != 'root') {// 判断是不是root节点
if (flag || tree.getChecked(id, node.parentNode) == "") {// 如果该节点的父节点还有子节点被选者则父节点继续选择
node.parentNode.ui.toggleCheck(flag);
node.parentNode.attributes.checked = flag;
node.parentNode.fireEvent('checkchange', node.parentNode, flag);//递归调用
}
}
});

选中子节点:

tree.on('checkchange', function(node, flag) {
// 所有子节点选中
if (node.hasChildNodes()) {
node.eachChild(function(child) {
child.ui.toggleCheck(flag);
child.attributes.checked = flag;
child.fireEvent('checkchange', child, flag);//递归调用
});
}

});

...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
dm520
JavaScript 87,984 成员 224,681 内容