Ho caricato un jsTree con una chiamata AJAX che restituisce i dati JSON. Come posso aggiornare l'albero in modo che ricarichi il suo contenuto?Come posso aggiornare il contenuto di un jsTree?
risposta
Risulta IS è semplice come chiamare:
tree.jstree("refresh");
var tree = jQuery.jstree._reference("#files");
tree.refresh();
o
var tree = jQuery.jstree._reference("#files");
var currentNode = tree._get_node(null, false);
var parentNode = tree._get_parent(currentNode);
tree.refresh(parentNode);
per jstree3. Io uso distruggere() e ancora una volta creare albero esecuzione jstree function()
In realtà, è un evento, ma ha aiutato. 'tree.jstree (" destroy ")' –
alla versione 3 è possibile ricaricare l'albero:
$('#treeId').jstree(true).settings.core.data = newData;
$('#treeId').jstree(true).refresh();
Questo funziona per me, poiché i dati JSON provenienti da qualche altra funzione e non AJAX – TechMaze
ho dovuto impostare il secondo parametro di refresh su true: tree.jstree (true) .refresh (falsa verità); – jeffslofish
quando si usa AJAX ho dovuto concatenare '.url' ->' jstree (true) .settings.core.data.url = "/ new/data/url" ' – okliv
$('#treeId').data('jstree', false).empty().jstree(json);
avevo bisogno di aggiornare un solo nodo specifico. Grazie per questo suggerimento utile. – DavidHyogo
jsTree API is pain – kilonet
Sì, non mi piace, anche v3 aPI, proprio come Internet Explorer. –