需求:
1.点击父节点时不能选中其下所有子节点
2.点击子节点时向上级联选中所有父节点
3.取消父节点时,其下所有子节点均取消
实现:
1.利用checked的true和false属性区分是选中或取消
2.利用getParent和getChildren获取父节点和子节点
3.利用check和unchecked选中或取消选中节点内容
代码如下:
onCheck:function(node, checked){ //当点击 checkbox 时触发
if (checked) {//如果是选择
var node1=$("#areaList").tree('getParent',node.target); //得到父节点
if (node1 != null) {
$("#areaList").tree('check', node1.target); //选中父节点
}
}else {//如果是取消
var childNode = $("#areaList").tree("getChildren", node.target);
for (var i = 0; i < childNode.length; i++) { //循环所有子孙节点,全部取消勾选
$("#areaList").tree("uncheck", childNode[i].target);
}
}
}