extjs实现tree选中一个节点同时选中父节点和其子节点
现在有多层节点的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);//递归调用
});
}
});
但其一的话我现在是实现了 但是就是放在一起同时实现不了 算法太难了 主要是嵌套
选中父节点:
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);//递归调用
});
}
});
...全文
相关推荐
关于extjs treepanel复选框选中父节点与子节点的问题
extjs 如图,实现带有复选框的树,选中父节点时,选中所有子节点。取消所有子节点时,才能取消根节点。 代码如下: var Fpanel = new Ext.tree.TreePanel({ id:’ptree’, region:’west’, layout:’anchor’, border:false, rootVisible: false, root:new Ext.tree.AsyncTreeNode({}), listeners:{ “checkchange”: function(node, state) { if (node[removed] != null) { //子节点选
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
主要介绍了Extjs 中 Treepanel 实现菜单级联选中效果,需要的朋友可以参考下
解决 extjs2.2 给tree-panel 添加 checkbox 的add-on
此扩展解决 extjs2.2 及以前版本都不支持checkbox的问题
Extjs复习笔记(十八)-- TreePanel
NULL 博文链接:https://lingyibin.iteye.com/blog/804878
ExtJs.MultiTreeField
对网上找到的MultiTreeField进行改造后,分享给大家。


