level 4
我使用的是Struts控制zTree需要的数据,前台使用异步加载,但是为什么获得不到节点的数据呢?
一到节点的时候就提示找不到对象
实在没办法了
请各位大神指点一下
通过了就把ztree的代码贴上来
2012年03月01日 08点03分
1
level 4
这是zTree控制代码
var setting = {
//参数设置
view: {
expandSpeed: "fast",
showLine: true,
selectedMulti: false,
dblClickExpand: false
},
async: {
enable: true,
dataType: "text",
url:"getDtree.action",
autoParam:["id"]
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pid"
}
},
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" }
},
callback: {
onNodeCreated: this.onNodeCreated,
beforeClick: this.beforeClick,
onClick: this.onClick
}
};
var zNodes =[];
2012年03月01日 08点03分
2
level 4
这是回调的一个方法
function beforeClick(treeId, treeNode) {
if (treeNode.isParent) {
if (treeNode.level === 0) {
var pNode = curMenu;
while (pNode && pNode.level !==0) {
pNode = pNode.getParentNode();
}
if (pNode !== treeNode) {
var a = $("#" + pNode.tId + "_a");
a.removeClass("cur");
zTree_Menu.expandNode(pNode, false);
}
a = $("#" + treeNode.tId + "_a");
a.addClass("cur"); var isOpen = false;
for (var i=0,l=treeNode.children.length; i<l; i++) {
if(treeNode.children[i].open) {
isOpen = true;
break;
}
}
if (isOpen) {
zTree_Menu.expandNode(treeNode, true);
curMenu = treeNode;
} else {
zTree_Menu.expandNode(treeNode.children[0], true);
curMenu = treeNode.children[0];
}
} else {
zTree_Menu.expandNode(treeNode);
}
}
return !node.isParent;
}
2012年03月01日 08点03分
3
level 4
上面这个方法是为了实现点击第一个菜单就收起另外一个菜单的效果
2012年03月01日 08点03分
4
level 4
使用的是JQuery初始化ztree的
$().ready(function(){
$.fn.zTree.init($("#treeDemo"), setting,zNodes);
zTree_Menu = $.fn.zTree.getZTreeObj("treeDemo");
curMenu = zTree_Menu.getNodes()[0].children[0].children[0];
zTree_Menu.selectNode(curMenu);
var a = $("#" + zTree_Menu.getNodes()[0].tId + "_a");
a.addClass("cur");
});
2012年03月01日 09点03分
6
level 4
现在的结果是 双击的话能出现一个菜单
并不能实现
点击 主菜单2 的时候收起 主菜单1,点击另外一个主菜单的时候收起其他已经打开的
这个功能
打开页面的时候 会报 zTree_Menu.getNodes()[0].children[0].children[0];不是对象
至于curMenu = null, zTree_Menu 这两个变量 我已经在外面定义了,刚才没复制到,所以没发上来,现在补一下
var curMenu = null, zTree_Menu = null;
2012年03月01日 09点03分
7
level 4
求各位zTree大神帮忙啊
为什么会报tId的错误,并且不能获得到zTree_Menu.getNodes()[0].children的值
2012年03月01日 09点03分
9
level 4
自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶
2012年03月01日 09点03分
15
level 4
自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶自己顶
2012年03月01日 09点03分
16
level 4
这个问题我换了一个种比较简单的方式解决了
可以使用ztree里面的expandAll()函数来解决
这个函数就是用来控制打开和折叠节点的
2012年03月02日 09点03分
18
level 4
呵呵 我换了种方式的
改用ztree里面的expandAll()函数来解决
这个函数就是用来控制打开和折叠节点的
2012年03月02日 09点03分
19