欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用zTree报错 $.fn.zTree.getZTreeObj("tree") 为 null解决办法

程序员文章站 2024-02-05 12:56:16
...

最后想了下,可能是因为没有找到tree这个元素!!!
但是很奇怪,我的tree这个ul放在了bootstrap的model里面,虽然进入页面是隐藏的,但是初始化的时候一样是隐藏的,就可以成功;
基于上面的猜测,我把代码放到了init()方法后面,然后就成功了..
示例:
使用zTree报错 $.fn.zTree.getZTreeObj("tree") 为 null解决办法
按照百度搜索的,因为每个人的情况不一样吧,实现这个初始化默认选中,真是几经波折,搞了2个小时,能实现真是不容易,劳资运气真好
(ps:如果chkDisabled为空,那js调试一下,应该是node为空了)
使用zTree报错 $.fn.zTree.getZTreeObj("tree") 为 null解决办法

$(document).ready(function(){
    $.getJSON(contextPath + "role/getPermissionsList.htm",function(json){
        $.fn.zTree.init($("#tree"), setting, json);
        <#if menuInfoList??>
            var treeObj = $.fn.zTree.getZTreeObj("tree");
            var pName = "";
            var pId = "";
            <#list menuInfoList as menu>
                //把菜单显示出来
                <#if menu.menuName != "">
                    pName += "<button type='button' class='btn btn-info btn-xs'>${menu.menuName}</button>";
                </#if>
                pId += ${menu.menuId} + ",";
                if (treeObj != null) {
                    <#if menu.menuId != ''>
                        var node = treeObj.getNodeByParam("id",'${menu.menuId}', null);
                        //勾选
                        treeObj.checkNode(node, true, true);
                        //treeObj.selectNode(node);//选中
                        treeObj.expandNode(node,true,true,true);
                    </#if>
                }
            </#list>
            if (pName != "") {
                $("#permissionsList").empty();
                $("#permissionsList").append(pName);
                $("#btn_addPermissions").text("更改权限");
                $("#permissionsIds").val(pId);
            }else{
                $("#permissionsList").empty();
                $("#btn_addPermissions").text("添加权限");
                $("#permissionsIds").val("");
            }
        </#if>
    });
});