我试图在我的一个项目中使用这个jQuery插件(jsTree)。
我发现的所有其他人最近都没有更新过
无论如何,我使用这个插件来加载文件夹结构,但我想这样做
操作异步。
我在他们的网站上发现的例子(称为异步)是荒谬的。
我试图检查互联网,但似乎大多数人加载整个树。
我想在每个单点节点上加载一个分支。
我正在使用JSON。
提前感谢
答案 0 :(得分:8)
我现在正在jQuery 1.4中使用jsTree,这是一个例子,它使得它更加清晰:
$("#QuickNav").tree({
data: {
async: true,
type: "json",
opts: {
method: "POST",
url: rootPath + "QuickNav"
}
},
callback: {
beforedata: function(NODE, TREE_OBJ) {
return $(NODE).attr("id") === "" ?
{ id: $(NODE).find("a:first").attr("id")} :
{ id: $(NODE).attr("id") || 0 };
},
onchange: function(NODE) {
document.location.href = $(NODE).children("a:first").attr("href");
}
}
});
我从该Url返回的JSON示例:
[{
"data": {
"title": "Title (<b link='/Thing/200' class='gtp'>Go to Page</b>)",
"attributes": {
"href": "#",
"id": "200"
}
},
"state": "closed"
}]
id是唯一被传递给我的Web服务方法回调的东西,导致返回这样的JSON:
[{
"data": {
"title": "Sites",
"attributes": {
"href": "#",
"class": "TreeTitle"
}
},
"state": "open",
"children": [
{
"data": {
"title": "00001 - Test Thing",
"type": "link",
"attributes": {
"href": "/Site/39063",
"class": "TL"
}
}
},
{
"data": {
"title": "00002 - Test Thing 2",
"type": "link",
"attributes": {
"href": "/Site/39069",
"class": "TL"
}
}
}
]
}]