icon example ejemplos bootstrap javascript jquery html jquery-ui jstree

javascript - example - jsTree: ¿Cómo obtener ID de los nodos seleccionados para el nodo raíz en jsTree?



tree jquery bootstrap (2)

Usa a los parents en jQuery para obtener a todos los padres, filtrándolos por li porque todos los elementos del árbol están li en jstree , prueba esto:

var parents = data.rslt.obj.parents("li");

Y para los niños, use los children en jQuery, así:

var children = data.rslt.obj.parent().find(''li'');

EDITAR Usando lo anterior, aquí se muestra cómo obtener todos los elementos principales y secundarios y ponerlos en una matriz para cada uno:

Padres:

var parents = []; data.rslt.obj.parents("li").each(function () { parents.push({ id: $(this).attr("id"), description: $(this).children("a").text() }); });

Niños:

var children = []; data.rslt.obj.find("li").each(function () { children.push({ id: $(this).attr("id"), description: $(this).children("a").text() }); });

¿Cómo obtener ID de los nodos seleccionados para el nodo raíz en jsTree?

Supongamos que C es el nodo seleccionado y luego ¿Cómo puedo obtener todas las ID principales de C.

UN

  • segundo

    • do

      + C1

      + c2

El siguiente código devolverá solo el ID padre inmediato: si selecciono C , obtengo solo B

.bind("select_node.jstree", function (event, data) { //`data.rslt.obj` is the jquery extended node that was clicked alert("Selected node = "+ data.rslt.obj.attr("id")); alert("Parent of Selected node = "+ data.inst._get_parent(data.rslt.obj).attr("id")) });

Salida:

Selected node = C

Parent of Selected node = B

¿Hay alguna forma de obtener todos los nodos principales ID, es decir, nodo seleccionado al nodo raíz?

  • ¿Cómo obtener todos los nodos secundarios del nodo seleccionado en jsTree?

Cualquier ayuda u orientación en este asunto sería apreciada.


1 solución más fácil

.get_path ( node , id_mode )

devolver la ruta a un nodo, ya sea como una matriz de ID o como una matriz de nombres de nodo. nodo mixto: puede ser un nodo DOM, un nodo jQuery o un selector que apunta a un elemento dentro del árbol, cuya ruta queremos.bool id_mode: Si se establece en verdaderos, se devuelven ID en lugar de los nombres de los padres. El valor predeterminado es falso.

// To get path [ID or Name] from root node to selected node var ids = data.inst.get_path(''#'' + data.rslt.obj.attr(''id''),true); // Returns IDs from root to selected node var names = data.inst.get_path(''#'' + data.rslt.obj.attr(''id''),false); // Returns Name''s from root to selected node alert("Path [ID or Name] from root node to selected node = ID''s = "+ids+" :: Name''s = "+names);