Программно расширяющиеся узлы в jstree с загрузкой ajax

У меня есть дерево, созданное с помощью jstree, которое загружается частично и загружается через плагин json_data, когда вы расширяете узлы. Вот'Суть кода:

$("#TreeViewDiv")   
.jstree(
{
    json_data:
    {
        ajax:
        {
            url: "/Website/GetNodes",
            data: function (node) {
                //do some stuff to compile data for backend here

                return {
                    //insert data for backend here
                };
            },
            error: function () {
                $("#TreeViewDiv").html("Error initializing tree");
            }
        }
    },

    plugins: ["json_data", "ui"]
});

Затем я хочу расширить некоторые узлы и выбрать конечный узел, в зависимости от того, какой пользователь обращается к сайту. Я делаю это в цикле следующим образом:

var nodeValues = [Parent, firstChild, leaf];

        for (var j = 0; j < nodeValues .length-1; j++) {        
            $("#TreeViewDiv").jstree("open_node", $("input[value='" + nodeValues [j] + "']"));
        }

Открытие родительского узла работает нормально, и firstChild открывается, когда отображается дерево, но узел firstChild не открыт. Если я снова запускаю цикл, первый ребенок открывается успешно, чтобы показать листовой узел.

Я думаю, что запрос неt завершено, а узел дерева firstChild не 'не существует, когда вышеуказанный цикл пытается открыть его. Есть ли способ дождаться загрузки узлов, прежде чем пытаться открыть следующий узел? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос