jsTree:异步加载
我试图在我的一个项目中使用这个jQuery插件(jsTree)。
我发现的所有其他人最近都没有更新过。
无论如何,我使用这个插件来加载文件夹结构,但我想做这个操作异步。 我在他们的网站上发现的例子(称为异步)是荒谬的。 我试图检查互联网,但似乎大多数人加载整个树。 我想在每个单点节点上加载一个分支点击。 我正在使用JSON。
预先感谢
我现在正在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 (Go to Page)", "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" } } } ] }]