Следующий код инициализирует плагин jstree с данными, которые обновляются посредством вызова ajax.
var jstree_obj =
$('#jstree_obj').jstree({
'core' : {
'data' : {
"url" : function (node) {
return node.id == '#' ? baseurl + "/query" : baseurl + "/query/"+node.id;
}
}
}
});
Следующая функция запускается при нажатии кнопки, которая возвращает массив иерархических элементов.[child-P, child-P.child-Q, child-P.child-Q.child-R and so on..]
.
$('button#btnAdd').click(() => {
$.ajax({
url: ajax_url,
type: 'POST',
dataType: 'JSON',
}).done((data) => {
$.each(data, (k, id) => {
me(id);
})
});
})
Для каждого дочернего элемента мне нужно развернуть его узел так, чтобы дочерние узлы были видны для следующего вызова функции.
async function me(id) {
await jstree_obj.jstree().open_node(id);
}
Вывод
В пользовательском интерфейсе jstree раскрывается только первый дочерний узел (child-P).Остальные дочерние узлы не раскрываются.Что мне здесь не хватает?