【jquery】使用zTree报错 $.fn.zTree.getZTreeObj(“tree“) 为 null解决办法

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

$(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 += "";
				
				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 (pName != "") {
		    	$("#permissionsList").empty();
		        $("#permissionsList").append(pName);
		        $("#btn_addPermissions").text("更改权限");
		        $("#permissionsIds").val(pId);
			}else{
				$("#permissionsList").empty();
				$("#btn_addPermissions").text("添加权限");
				$("#permissionsIds").val("");
			}
		
	});
});

你可能感兴趣的:(jquery,zTree,zTree初始化选中)