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结束***********/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM