checkAllchild_click : function(node,checked){
var me=this;
if (node.data.leaf == false) {
if (checked) {
// 打开节点
node.expand();
// 遍历孩子
me.setChildNode(node.childNodes,checked);
} else {
node.expand();
me.setChildNode(node.childNodes,checked);
}
} else { // 单击叶子时候
if (checked) { // 未被选中时,取消父节点的选择状态
me.setParentNode(node,checked);
}
}
},
//反选父节点
setParentNode:function(node,checked){
node.set('checked', checked);
if(node.parentNode!=null){
this.setParentNode(node.parentNode, checked);
}
},
//选子节点
setChildNode: function (childNodes,checked){
var node;
for(var i=0;i<childNodes.length;i++){
node= childNodes[i];
node.set('checked', checked);
if(node.childNodes.length>0){
this.setChildNode(node.childNodes, checked);
}
}
}
var me=this;
if (node.data.leaf == false) {
if (checked) {
// 打开节点
node.expand();
// 遍历孩子
me.setChildNode(node.childNodes,checked);
} else {
node.expand();
me.setChildNode(node.childNodes,checked);
}
} else { // 单击叶子时候
if (checked) { // 未被选中时,取消父节点的选择状态
me.setParentNode(node,checked);
}
}
},
//反选父节点
setParentNode:function(node,checked){
node.set('checked', checked);
if(node.parentNode!=null){
this.setParentNode(node.parentNode, checked);
}
},
//选子节点
setChildNode: function (childNodes,checked){
var node;
for(var i=0;i<childNodes.length;i++){
node= childNodes[i];
node.set('checked', checked);
if(node.childNodes.length>0){
this.setChildNode(node.childNodes, checked);
}
}
}
树状结构选中与反选实现
本文介绍了一种实现树状结构中节点选择与反选的方法,包括递归展开节点并设置选中状态的功能。同时实现了点击叶子节点时更新父节点状态的逻辑。
2334

被折叠的 条评论
为什么被折叠?



