项目中有遇到当勾选一个checkbox框的时候将整颗ztree树的所有节点都禁用或启用,我百度一圈刚写好,需求又说不这样写了,虽然很无奈,但是还是得记下来,要不哪天他突然又说要这样操作了呢。。。。
html代码:
<form name="form1" style="margin-left:10px;">
<input type="checkbox" id="chkGreenShield" value="1" onClick="bigGreenShield();">
</form>
js代码:
function bigGreenShield()
{
var lee=document.forms["form1"].chkGreenShield;
//选中
if (lee.checked == true)
{
var treeObj = $.fn.zTree.getZTreeObj("scanTypeTree");//获取到树
var nodesSys = treeObj.getNodes(); //可以获取所有的父节点
var nodesSysAll = treeObj.transformToArray(nodesSys); //获取树所有节点
for (var i = 0;i<nodesSysAll.length;i++){
//两种禁用的效果都有效
// nodesSysAll[i].chkDisabled = true;
// treeObj.updateNode(nodesSysAll[i]);
treeObj.setChkDisabled(nodesSysAll[i], true);
}
}
else
{
var treeObj = $.fn.zTree.getZTreeObj("scanTypeTree");//获取到树
var nodesSys = treeObj.getNodes(); //可以获取所有的父节点
var nodesSysAll = treeObj.transformToArray(nodesSys); //获取树所有节点
for (var i = 0;i<nodesSysAll.length;i++){
nodesSysAll[i].chkDisabled = false;
treeObj.updateNode(nodesSysAll[i]);
}
}
}