关于ztree的pid是一个对象的问题
ztree吧
全部回复
仅看楼主
level 2
hailang466 楼主
现在 我有一个问题就是在设置pid的时候,我有pid是一个对象只有它的id才是真正的pid这种情况怎么办啊?我设置parent.id为pid也不管用 啊[{"id":1,"name":"个人","status":0},{"id":2,"name":"公共","status":0},{"id":4,"name":"科室","status":0,"parent":{"id":3,"name":"部门","url":"大","status":1,"menutype":{}}},{"id":3,"name":"部门","status":0}]
这个 是我的json数据 大家看科室这个 对象 它的父节点就parent 应该是pid的就是id:3
但这个拿到ztree里就不知道怎么用了
2012年10月25日 01点10分 1
level 10
[{"id":1,"name":"个人","status":0},
{"id":2,"name":"公共","status":0},
{"id":3,"name":"部门","status":0,"children":[
{"id":4,"name":"科室","status":0}
]}
]
or
[{"id":1,"name":"个人","status":0},
{"id":2,"name":"公共","status":0},
{"id":3,"name":"部门","status":0},
{"id":4,"pId":3,"name":"科室","status":0}
]
可否?
2012年10月25日 09点10分 2
这个不知道啊 不过我的对象是持有parent的,而pid应该就是这个parent的id属性 [$1]{"id":4,"name":"科室","status":0,"parent":{"id":3,"name":"部门","url":"大","status":1,"menutype":{}}} 就是这样的结果 就不能自己设置成parent.id 这样 来替代pid么? 只能输出 pid这样的字样么?
2012年10月25日 12点10分
level 3
是平面结构转化成树结构?
//将平面结构转换成树结构
function toTree(nodes, rootId) {
return (function(pid) {
var children = [];
for (var i = 0, I = nodes.length; i < I; i++) {
var n = nodes[i];
if (n.parent &&n.parent.pid == pid) {
n.children = arguments.callee(n.id);
children.push(n);
}
}
return children;
})(rootId);
}
///使用
var data = toTree(你的数据,你的根节点)

2012年10月26日 08点10分 3
level 11
你这个数据对象模型本身就是有问题的。按照你这种结构进行输入的话, id = 3的节点会有两个对象,一个是 id=4 的父节点,另一个是 id=4的同级节点。
另外,因为有 clone 操作,要避免循环递归,所以数据中不建议之间引用上级节点的对象。 可以对照 zTree v2.6 中的 节点数据 和 zTree v3.x 中的节点数据的改变。
2012年10月28日 01点10分 4
1