zTree学习日志 选中指定节点
Posted li-ultraman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zTree学习日志 选中指定节点相关的知识,希望对你有一定的参考价值。
ztree文档地址:http://www.treejs.cn/v3/api.php
1.根据节点的id值获取节点,需要注意idkey与getNodeByParam("属性值", id, null); 属性值一致,不然根据节点id选中节点可能会报ztree Cannot read property ‘chkDisabled‘ of null的错
获取node: var node = zTreeObj.getNodeByParam("idResources", id, null);
需要注意 idResources 是setting配置中
data : {
simpleData : {
enable : true,
idKey : ‘idResources‘,
pIdKey : ‘idParent‘,
rootPId : null
}
},
idKey 后面的值,而idKey 后面的值则是 ajax返回值中用于作为节点id的属性值
/***初始化树方法开始*****/
function initZTree() {
$.ajax({
url : "${ctx }/admin/super-manage/role/initResTree",
type : "post",
dataType : "json",
success : function(data) {
console.log(data);
//var dataObj = JSON.parse(data);
var zTreeObj = $.fn.zTree.init($("#zTree"), setting, data);
zTreeObj.expandAll(true);
showSelectRes();
},
error : function() {
$.jBox.tip("加载资源失败!");
}
});
}
/***初始化树方法结束*****/
2.根据指定id值选中(checked)节点有两种方法
(1):zTree.checkNode(node, true, true);//其中node为node对象
(2):node.checked = true;
zTree.updateNode(node); //注:设置checked属性之后,一定要更新该节点,否则会出现只有鼠标滑过的时候节点才被选中的情况(参考:https://blog.csdn.net/u013305082/article/details/51133193/)
需要注意:如果没有特意设置(1)跟(2)的区别在于使用(1) 会出现如果(1)节点下有子节点,则这个方法会连同其子节点一并勾选,而(2)方法则不会
idResources为setting配置中 data 里面的 idKey : ‘idResources‘,
/*******选中指定id的ztree开始*******/
function checkedNodeBYId(id){
var zTreeObj = $.fn.zTree.getZTreeObj("zTree");
var node = zTreeObj.getNodeByParam("idResources", id, null);
node.checked = true;
zTreeObj.updateNode(node);
}
/*******选中指定id的ztree结束***********/
以上是关于zTree学习日志 选中指定节点的主要内容,如果未能解决你的问题,请参考以下文章