Saltar al contenido

jsTree: ¿Cómo obtener todos los nodos de jstree?

Solución:

De la documentación:

.get_json ( node , li_attr , a_attr )

Esta función devuelve una matriz de nodos de árbol convertidos de nuevo a JSON.

Más información sobre la misma función de este documento:

Esta función recorre todo el árbol y lo exporta como JSON. Consulte la sección de fuentes de datos para ver el formato de la salida.

Si especifica un nodo como primer argumento, solo ese nodo y sus hijos se incluyen en la exportación; de lo contrario, se exporta todo el árbol.

¡Solo busca y encontrarás! 🙂

Solución con ejemplo 🙂

var xmlString = $("#tree").jstree("get_xml");   
    var xmlDOM = $.parseXML(xmlString);

    var IDList =[];
var items = $(xmlDOM).find('root item');
$.each (items, function(key, val){
    IDList.push($(val).attr('id'));
})

IDList.pop();

xmlString =

<root>  
        <item id="A" parent_id="0" state="close">  
            <content><name>Charles Madigen</name></content>                
        </item>
        <item id="A1" parent_id="A" state="close">  
            <content><name>Charles Madigen</name></content>                
        </item>
          .
          .
</root>

Salida: Raíz, A, A1, A1.1, A1.2, A2, A2.1, A2.2, B, B1, B2, C, C1, C1.1, C2.2

🙂

Puede atravesar cada elemento de nodo y poner su identificación en una matriz a través de:

var idList = [];
var jsonNodes = $('#tree').jstree(true).get_json('#', { flat: true });
$.each(jsonNodes, function (i, val) {
    idList.push($(val).attr('id'));
})
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *