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

本文记录了解决zTree在页面加载时初始化失败及默认选中项问题的过程。通过调整代码位置到init()方法之后,成功实现了zTree的初始化及默认选中功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

$(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>
	});
});
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值