jsTree: асинхронная загрузка

Я пытаюсь использовать этот плагин jQuery (jsTree) в одном из моего проекта.
Все другие, которых я нашел, не были недавно обновлены.
Так или иначе я использую этот плагин для загрузки структуры папок, но я хотел бы сделать эту асинхронную операцию. Примеры, которые я нашел на их сайте (названный асинхронным) смешны. Я попытался проверить Интернет, но кажется, что большинство людей загружает целое дерево. Я хотел бы загрузить ответвление по каждому щелчку узла. Я использую JSON.

Благодарность заранее

8
задан LeftyX 11 March 2010 в 17:04
поделиться

1 ответ

Я использую это с 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"
                }
            }
        }
    ]
}]
8
ответ дан 5 December 2019 в 20:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: