Grazie, stavo perdendo la testa. Nessuno dei vecchi esempi ha funzionato! Quindi finalmente posso accedere ai metadati, il problema è che non so come iterare su un numero sconosciuto di campi di metadati?
ok, ora ho controllato ed è possibile iterare oggetto restituito da dati() senza parametri denominati
.bind("select_node.jstree", function (e, data) {
var propsObj = $(data.rslt.obj).data();
for (var prop in propsObj) {
alert(prop + " = " + propsObj[prop] + "\n");
}
});
Se è necessario evitare Array jstree_children ottenere nel vostro senso, il miglior modo in la mia opinione è di incapsulare i metadati in un altro oggetto in questo modo:
"metadata" : {"properties" : {"prop1" : "aa1a", "prop2" : "123"}}
allora si può iterare utilizzando:
var metadata = $(data.rslt.obj).data();
for (var prop in metadata.properties) {...}
fonte
2011-08-25 14:33:43
Continuo a ricevere 'data.rslt' come non definito – mmcrae
Non riesco a farlo funzionare. Sto inviando dati ai miei nodi tramite una chiamata AJAX: ho bisogno di un diverso nodo 'dati' e' metadata' nel JSON? Sono stato in grado di creare la struttura ad albero con id e child senza un oggetto 'dati' di root in JSON i.e. solo' {"id": "3", "children": [...]} ' – mmcrae