tutorial from javascript jquery tree jstree

javascript - from - plugins jstree



Jstree: Crear nodo con div personalizado (2)

Uso el plugin Jstree para gestionar mi menú de forma dinámica.

He personalizado mi árbol con algunos div para mostrar iconos y enlaces:

<li rel="menu"> <a class="js_menu_titre"> <p class="jsmenu_titre_taille">Menu_Principal</p> <div class="jsmenu_lien">Link</div> <p class="jsmenu_icone">Actif : icon</p> <p class="jsmenu_action">Actions : icon_action</p> </a>

mi problema es que cuando quiero usar la función crear nodo, ya no tengo mis divs. Mis ads de aduanas están dentro del enlace ()

Puede ver el resultado y el problema aquí: http://i71.servimg.com/u/f71/11/07/15/68/arbo10.jpg

Yo uso esta función:

$("#jsmenu").bind("create.jstree", function (e, data) { $.post( "/static/v.1.0pre/_demo/server.php", { "operation" : "create_node", "id" : data.rslt.parent.attr("id").replace("node_",""), "position" : data.rslt.position, "title" : data.rslt.name, "type" : data.rslt.obj.attr("rel") }, function (r) { if(r.status) { $(data.rslt.obj).attr("id", "node_" + r.id); } else { $.jstree.rollback(data.rlbk); } } );

})

y para mi botón agregar

function Ajouter() { $(''#jsmenu'').jstree("create", null, "last",{ "attr" : { "rel" : "folder" } }); }


Pruebe algo como esto:

$("#jsmenu").on("create_node.jstree", function (e, data) { $("li#"+data.node.id).find("a").append(html); });

html es una var que contiene el código de tus iconos.


Puede acceder al ancla directamente por id:

$("#jsmenu").on("create_node.jstree", function (e, data) { $("#"+data.node.id+"_anchor").append(html); });