
1 treeNodegetParentNode() 方法能得到其父节点
2 目前的确没有提供 节点自身 index 的方法,可以自己利用 父节点的 children 遍历一遍来判断。对于新的浏览器 可以直接使用 indexOf ,但是老的浏览器是不支持的,请注意; 另外 如果当前节点是根节点那么它是没有父节点的,这时候可以直接利用 getNode 方法获取根节点的Array 集合
这个问题,结合源码跟你说下吧
getTreeCheckedNodes: function (setting, nodes, checked, results) {if (!nodes) return [];
var onlyOne = (checked && settingcheckchkStyle == constsradioSTYLE && settingcheckradioType == constsradioTYPE_ALL);
results = !results [] : results;
for (var i = 0, l = nodeslength; i < l; i++) {
var node = nodes[i];
var children = datanodeChildren(setting, node);
var nodeChecked = datanodeChecked(setting, node);
if (nodenocheck !== true && nodechkDisabled !== true && nodeChecked == checked) {
resultspush(node);
if (onlyOne) {
break;
}
}
datagetTreeCheckedNodes(setting, children, checked, results);
if (onlyOne && resultslength > 0) {
break;
}
}
return results;
}
其中这一句种nodeChecked == checked 根据treenode的当前checked与你传入的checked比较,虽然api上说默认treenode的checked是false,实际上是undefined,所以要有效,一是选中后取消,一是初始化的时候,把treenode的checked设上true或false,当然你也可以该源码
你的“还有一个问题就是当我选择一个后,在到另一个节点的子节点选择也能选中”是希望整个tree中只能选中一个节点么?那就设置check的radioType为all就好了,all代表整个whole tree里单选,而level只代表当前子树里单选
settingcheckautoCheckTrigger
概述[ 依赖 jqueryztreeexcheck 扩展 js ]
设置自动关联勾选时是否触发 beforeCheck / onCheck 事件回调函数。[settingcheckenable = true 且 settingcheckchkStyle = "checkbox" 时生效]
1、如果设置 settingcheckchkboxType = { "Y": "", "N": "" },将不会有任何自动关联勾选的 *** 作。
2、如果开启触发,对于节点较多的树将会影响性能,因为所有被联动勾选的 *** 作都会触发事件回调函数,请根据需要决定是否使用此功能。
默认值: false
Boolean 格式说明
true / false 分别表示 触发 / 不触发 事件回调函数
setting 举例
1 需要触发自动关联勾选 *** 作
var setting = {
check: {
enable: true,
autoCheckTrigger: true
}
};
获取 id 为 tree 的 zTree 对象
var treeObj = $fnzTreegetZTreeObj("tree");
获取全部节点数据
var treeObj = $fnzTreegetZTreeObj("tree");
var nodes = treeObjgetNodes();
for(var i=0;i<nodeslength;i++){
alert(nodes[i]id); //获取每个节点的id
}
获取当前被勾选的节点集合
var treeObj = $fnzTreegetZTreeObj("tree");
var nodes = treeObjgetCheckedNodes(true);
for(var i=0;i<nodeslength;i++){
alert(nodes[i]id); //获取每个节点的id
}
获取当前被选中的节点数据集合
var treeObj = $fnzTreegetZTreeObj("tree");
var nodes = treeObjgetSelectedNodes();
for(var i=0;i<nodeslength;i++){
alert(nodes[i]id); //获取每个节点的id
}
以上就是关于ztree怎么返回选中的节点的值全部的内容,包括:ztree怎么返回选中的节点的值、ztree获取没选中的是什么啊 我设置成getCheckedNodes(false)不好使啊、ztree中的树形菜单有多选的即有单选的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)