Gracias, estaba perdiendo la cabeza por eso. ¡Ninguno de los viejos ejemplos funcionó! Entonces, finalmente, ¿puedo acceder a los metadatos, el problema es que no sé cómo iterar sobre un número desconocido de campos de metadatos?
bien, ahora he comprobado y es posible iterar sobre objeto devuelto por los datos() sin parámetros con nombre
.bind("select_node.jstree", function (e, data) {
var propsObj = $(data.rslt.obj).data();
for (var prop in propsObj) {
alert(prop + " = " + propsObj[prop] + "\n");
}
});
Si es necesario evitar matriz jstree_children en su camino, la mejor manera en mi opinión es encapsular metadatos en otro objeto de esta manera:
"metadata" : {"properties" : {"prop1" : "aa1a", "prop2" : "123"}}
entonces se puede repetir usando:
var metadata = $(data.rslt.obj).data();
for (var prop in metadata.properties) {...}
Sigo recibiendo 'data.rslt' como undefined – mmcrae
No puedo hacer que esto funcione. Estoy enviando datos a mis nodos a través de una llamada AJAX. ¿Necesito un nodo 'data' y un nodo' metadata' en el JSON? Pude crear la estructura de árbol con id's e hijos sin un objeto raíz 'data' en el JSON, es decir,' '" id ":" 3 "," niños ": [...]}' – mmcrae