我对 JavaScript 编码相当陌生,特别是在使用 jQuery 方面。我正在尝试使用 jsTree 尝试通过 JSON 填充它。现在我相信我的问题已经在相关问题上得到了回答,但我似乎无法找到我正在做的事情的具体答案。我也参考了 jsTree 文档,但我仍然无法弄清楚。
下面是我正在尝试的代码
buildTree : function(name, url, nodeRef) {
$("#"+name).jstree({
"json_data" : {
"ajax" : {
"url" : url + nodeRef,
"data" : function(n) {
return { id : n.attr ? n.attr("id") : 0 };
}
}
},
"plugins" : [ "themes", "json_data" ]
});
}
这基本上是 JSON 的 jsTree 文档中代码的副本。这里发生的是我能够填充其内容树的根文件夹。下面是我得到的 JSON 的响应。
[
{
"attr":{"id":"a3e6a1f0-ec50-4215-a6df-2065eb09115e","rel":"file"},
"data":"File 1","state":""
},
{
"attr":{"id":"b38e4a72-875b-4d69-95d3-5437f7e65575","rel":"folder"},
"data":"Folder 1","state":"closed"
}
]
但是当我单击文件夹的节点时,它被相同的 JSON 请求填充,具有相同的值。
我知道罪魁祸首是
"url" : url + nodeRef,
但我不知道如何传递从响应中获得的 ID,替换初始 nodeRef 值。我尝试使用回调,但没有任何反应。
很感谢任何形式的帮助。