zTree点击节点内容改变当前节点及下级(一级)节点的状态

var zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
var setting = {
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: {
"Y": "ps",
"N": "s"
}
},
data: {
simpleData: {
enable: true
}
},
view: {
showIcon: false
},
callback: {
onClick: function zTreeOnClick(event, treeId, treeNode) {
var checkedFlag = treeNode.checked;
if (checkedFlag) {
// 如果已经选中,则取消选中状态
setChildrenCheckedState(treeNode, false);
} else {
// 如果没有选中,则设置为选中状态
setChildrenCheckedState(treeNode, true);
}
}
}
};

//设置选中的节点treeNode下所有的子节点的选中状态
function setChildrenCheckedState(treeNode, flag) {
// 设置被点击的节点选中状态
treeNode.checked = flag;
// 需要更新才能正确显示更新后的状态
zTree.updateNode(treeNode);

if (treeNode.isParent) {
for (var obj in treeNode.children) {
treeNode.children[obj].checked = flag;
zTree.updateNode(treeNode.children[obj]);
}
}
}

原文地址:http://blog.51cto.com/1197822/2157672

时间: 2024-10-13 11:04:27

zTree点击节点内容改变当前节点及下级(一级)节点的状态的相关文章

extjs 递归获得下级子节点

在最近在coding过程中,遇到了这样一个情况(ext.js):有很多具有级联关系的combobox(后台动态生成,id有规律),在其中一个选择改变时,其下级子节点(所有子类节点)都clean value,回到页面初始渲染状态.后台想到这种情况可以在每个动态生成的combobox绑定一个选择改变事件,通过递归(递推)的思路解决 效果截图如下:                                    代码如下: //递归移除当前节点id 有级联关系的所有combobox functi

转:zTree树控件入门之checkbox:如何动态设置节点的checkbox选择框启用与禁用状态(chkDisabled)

当一棵树的部分节点根据登入用户角色不同而决定是否启用节点前的checkbox选择框的时候,我们应该如何做呢?也或者如何在页面加载的时候动态根据当前登入用户角色动态切换节点前的checkbox的禁用状态? 针对上列一系列问题,今天这里将做一个统一的讲解: 关于节点前的checkbox选择框是否禁用,是通过属性chkDisabled来决定的,值为true则表示禁用:反之表示启用: 一.初始化设置节点禁用 示例代码如下所示: var zNodes =[ { id:1, pId:0, name:"随意勾

input中的内容改变时触发的事件

onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发: onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有. oninput事件是IE之外的大多数浏览器支持的事件,在value改变时实时触发,但是通过js改变value时不会触发:基本写原生常用的是oninput. oninput与onpropertychange失效的情况: oninput事件: 1.当脚本中改变value时,不会触发: 2.从浏览器的自

JS来推断文本框内容改变事件

   oninput,onpropertychange,onchange的使用方法 onchange触发事件必须满足两个条件: a)当前对象属性改变,而且是由键盘或鼠标事件激发的(脚本触发无效) b)当前对象失去焦点(onblur):    onpropertychange的话,仅仅要当前对象属性发生改变,都会触发事件,可是它是IE专属的: oninput是onpropertychange的非IE浏览器版本号,支持firefox和opera等浏览器,但有一点不同,它绑定于对象时,并不是该对象全部

jquery文本框内容改变事件

/** * 内容改变时并不会触发事件,但是在失去焦点的时候会触发. */ $("#inputid").change(function(){ console.log($(this).val()); }); /** * 只要文本类容发生改变,就会触发该事件 */ $("#inputid").bind("input propertychange",function(){ console.log($(this).val()); });

input标签内容改变的触发事件

1. onchange事件与onpropertychange事件的区别: onchange事件在内容改变(两次内容有可能相等)且失去焦点时触发:onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有. 2. oninput事件与onpropertychange事件的区别: oninput事件是IE之外的大多数浏览器支持的事件,在value改变时实时触发,但是通过js改变value时不会触发:onpropertychange事

zTree实现单独选中根节点中第一个节点

1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href=&

zTree实现获取一级节点数据

1.实现源码 <!DOCTYPE html> <html> <head> <title>zTree实现基本树</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href=&

div、span绑定内容改变事件

内容改变事件onchange只适用于form表单标签(input.select.textarea) 当需要对div.span标签进行内容改变监听则无法适用,查阅了一些资料发现jquery有针对的方法,代码如下: 1 <meta charset="UTF-8"> 2 <script src="jquery.min.js"></script> 3 <span id="s"> 4 <span id=