0 0

zTree 动态生成左侧菜单问题20

项目框架:springMVC。
zTree 版本:3.5
问题:左侧menuTree加载时只能显示父亲节点,pId为零的节点,点击父节点 打开不了子节点。

页面代码:
<SCRIPT type="text/javascript">
		<!--
		var curMenu = null, zTree_Menu = null;
		var treeNodes=null;
		var setting = {
		
			async:{
				enable:true,
				dataType: "text",
				autoParam:["id","pId"],
				type:"post",
				url:"/BIAoa/menu/menuTree.bia"
			},
			data: {
				simpleData: {
					enable: true,
					idKey: "id",
					pIdKey: "pId",
					rootPId: 0,
				}
			},
			callback: {
				onNodeCreated: this.onNodeCreated,
				beforeClick: this.beforeClick
			},
			view: {
				showLine: true,
				selectedMulti: false,
				dblClickExpand: false
			}
		};
		function beforeClick(treeId, node) {
			if (node.isParent) {
				if (node.level === 0) {
					var pNode = curMenu;
					while (pNode && pNode.level !==0) {
						pNode = pNode.getParentNode();
					}
					if (pNode !== node) {
						var a = $("#" + pNode.tId + "_a");
						a.removeClass("cur");
						zTree_Menu.expandNode(pNode, false);
					}
					a = $("#" + node.tId + "_a");
					a.addClass("cur");

					var isOpen = false;
					for (var i=0,l=node.children.length; i<l; i++) {
						if(node.children[i].open) {
							isOpen = true;
							break;
						}
					}
					if (isOpen) {
						zTree_Menu.expandNode(node, true);
						curMenu = node;
					} else {
						zTree_Menu.expandNode(node.children[0].isParent?node.children[0]:node, true);
						curMenu = node.children[0];
					}
				} else {
					zTree_Menu.expandNode(node);
				}
			}
			return !node.isParent;
		}
		
		$(document).ready(function(){
			$.fn.zTree.init($("#treeMenu"), setting,treeNodes);
			zTree_Menu = $.fn.zTree.getZTreeObj("treeMenu");
			curMenu = zTree_Menu.getNodes()[0].children[0].children[0];
			zTree_Menu.selectNode(curMenu);
			var a = $("#" + zTree_Menu.getNodes()[0].tId + "_a");
			a.addClass("cur");
		});
		//-->
	</SCRIPT>

得到的json数据:
[{"id":1,"pId":0,"name":"系统管理","url":null,"isParent":true},{"id":2,"pId":0,"name":"业务管理","url":null,"isParent":true},{"id":3,"pId":0,"name":"个人管理","url":null,"isParent":true},{"id":11,"pId":1,"name":"角色管理","url":"system/roleManage.bia","isParent":false},{"id":12,"pId":1,"name":"权限管理","url":"system/rightManage.bia","isParent":false},{"id":13,"pId":1,"name":"用户管理","url":"system/userManage.bia","isParent":false},{"id":14,"pId":1,"name":"系统日志","url":"system/logShow.bia","isParent":false},{"id":15,"pId":1,"name":"项目类别","url":"system/projectKind.bia","isParent":false},{"id":21,"pId":2,"name":"客户管理","url":"project/customerInfo.bia","isParent":false},{"id":22,"pId":2,"name":"项目管理","url":"project/projectManage.bia","isParent":false},{"id":23,"pId":2,"name":"合同管理","url":"project/contractManage.bia","isParent":false},{"id":24,"pId":2,"name":"项目资金","url":"project/fundManage.bia","isParent":false},{"id":25,"pId":2,"name":"项目实施","url":"project/projectAllotShow.bia","isParent":false},{"id":31,"pId":3,"name":"个人设置","url":"single/singleSetting.bia","isParent":false}]


要想实现的功能:



问题补充:点击显示出来的父亲节点,会报第40行的tId未定义或null和第71行的children未定义
2014年10月14日 15:20
  • 大小: 30 KB
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics