easyui tree 级联从三种状态变为两种状态
Posted lf90
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui tree 级联从三种状态变为两种状态相关的知识,希望对你有一定的参考价值。
在网上找的方法都是使用方法$(‘#tree‘).tree(‘select‘, node.target);都没绕开oncheck方法,后来发现easyui tree提供了一个update方法可以成功绕开onCheck方法,从而成功将级联改为两种状态。代码如下:
$(‘#tree‘).tree({
url: ‘/tree‘
,lines:false
,checkbox:true
,cascadeCheck: false
,onCheck: function (node, checked) {
blChild(node,checked);
blParent(node,checked);
}
});
function blChild(node, checked){
var children = node.children;
if(children.length>0){
for(var i=0;i<children.length;i++){
var childNode = children[i];
//childNode = $(‘#tree‘).tree(‘find‘, childNode.id);//当树没加载好,修改报iconCls错时加上这行即可
if(checked){
$(‘#tree‘).tree(‘update‘, {
target:childNode.target,
checked:true
});
}else{
$(‘#tree‘).tree(‘update‘, {
target:childNode.target,
checked:false
});
}
blChild(childNode,checked);
}
}
}
function blParent(node, checked){
var parentNode = $("#tree").tree("getParent", node.target);
if(parentNode){
if(checked){
$(‘#tree‘).tree(‘update‘, {
target:parentNode.target,
checked:true
});
blParent(parentNode,checked);
}else{
var children = parentNode.children;
var flag= true;
for(var i=0;i<children.length;i++){
if(children[i].checked!=checked){
flag = false;
}
}
if(flag){
$(‘#tree‘).tree(‘update‘, {
target:parentNode.target,
checked:false
});
blParent(parentNode,checked);
}
}
}
}
以上是关于easyui tree 级联从三种状态变为两种状态的主要内容,如果未能解决你的问题,请参考以下文章
在jquery easyui tree 中如何判断节点的状态是展开/关闭
easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选