在网上找的方法都是使用方法$(‘#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); } } }}
原文地址:https://www.cnblogs.com/lf90/p/9347281.html
时间: 2024-10-12 07:47:35