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); });