Я пытаюсь использовать этот плагин jQuery (jsTree) в одном из моего проекта.
Все другие, которых я нашел, не были недавно обновлены.
Так или иначе я использую этот плагин для загрузки структуры папок, но я хотел бы сделать эту асинхронную операцию. Примеры, которые я нашел на их сайте (названный асинхронным) смешны. Я попытался проверить Интернет, но кажется, что большинство людей загружает целое дерево. Я хотел бы загрузить ответвление по каждому щелчку узла. Я использую JSON.
Благодарность заранее
Я использую это с jsTree в jQuery 1.4 на данный момент, вот пример, он очень несжатый, чтобы было немного понятнее:
$("#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");
}
}
});
Образец JSON, который я возвращаю с этого URL:
[{
"data": {
"title": "Title (<b link='/Thing/200' class='gtp'>Go to Page</b>)",
"attributes": {
"href": "#",
"id": "200"
}
},
"state": "closed"
}]
Идентификатор - это единственное, что получает передается в обратные вызовы метода моей веб-службы, в результате чего возвращается такой 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"
}
}
}
]
}]