好吧,又犯了老毛病,纠结,原本给好的例子,这要变那要变,结果出不来了
var setting = {
async: {
enable: true,
url:"listNode",
autoParam:["id","name"]
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "parentId",
rootPId: -1
}
},
callback: {
onClick : function(event, treeId, treeNode) {
$.fn.zTree.getZTreeObj("treeDiv").expandNode(treeNode,true);
// 展现右侧的列表
window.parent.document.getElementById("listFrame").src = "listUser?id="+ treeNode.id;
}
}
};
这是正常配置,看清楚了id,name这个是不能变的?答案是否定的,id可以换成cid,parentId也同样可以换成pid,等等,name呢?如果按刚才的逻辑name也可以写成自己定义的myName,那就错了,没有这个定义,下面看看淘宝的树形目录的取值
var setting = {
async: {
enable: true,
url:"${pageContext.request.contextPath}/mdse/taItemTree.action",
autoParam:["cid","name"]
},
data: {
simpleData: {
enable: true,
idKey: "cid",
pIdKey: "parent_cid",
rootPId: 0
}
},
callback: {
onClick : function(event, treeId, treeNode) {
$.fn.zTree.getZTreeObj("treeDemo").expandNode(treeNode,true);
window.parent.document.getElementById("list_frame").src = "mdse/taMdseItem.action?parent_cid="
+ treeNode.parent_cid +"&cid="+treeNode.cid+"&name="+treeNode.name;
}
}
};
问题就在这里,name到底能不能改,看了源码,反正写data:{key:{children:"children",name:"name",title:"",url:"url"},是写死的么,不应该呀
最后发现原来是这样:
async: {
enable: true,
url:"listItems",
autoParam:["itemsId"]
},
data: {
key:{
name:"itemsName"
},
simpleData: {
enable: true,
idKey: "itemsId",
pIdKey: "parentId",
rootPId: -1
}
},
小朋友们,你们看懂了么?问题就在autoParam的参数不能改成["myId","myName"]否则就显示不出来名字,name应该在data里面配置重新命名