码迷,mamicode.com
首页 > 其他好文 > 详细

easyui tree 级联从三种状态变为两种状态

时间:2018-07-21 18:05:03      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:length   UNC   两种   children   easyui   nbsp   使用   一个   状态   

   在网上找的方法都是使用方法$(‘#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 级联从三种状态变为两种状态

标签:length   UNC   两种   children   easyui   nbsp   使用   一个   状态   

原文地址:https://www.cnblogs.com/lf90/p/9347281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!