2010-03-25 7 views
0

Je viens juste de commencer avec JQuery et le plugin TreeView ce qui devrait être une question relativement facile:JQuery TreeView - Ajouter le noeud (s) au milieu de l'arbre

Le code exemple pour ajouter des branches à l'arbre:

var newnodes = $("<li><span class='folder'>New Sublist</span><ul>" + 
    "<li><span class='file'>Item1</span></li>" + 
    "<li><span class='file'>Item2</span></li></ul></li>").appendTo("#browser"); 
$("#browser").treeview({ 
    add: branches 
}); 

fonctionne bien pour moi, mais ajoute la nouvelle branche à la fin de l'arbre - au lieu ce que je veux est d'être en mesure de sélectionner un nœud spécifique et ajouter à cette branche. J'ai réussi à obtenir le noeud ajouté en utilisant l'ID du nœud particulier au lieu de l'arborescence entière dans - appendTo ("nodeID") Cependant, je ne peux pas obtenir l'arborescence pour afficher correctement, soit avec:

$("nodeID").treeview({ 
    add: branches 
}); 

ou

$("browser").treeview({ 
    add: branches 
}); 

ou en appelant sur les deux sans arguments.

Vive à l'avance

Répondre

1

Hé, l'idée est très simple:

  1. obtenir le nœud parent du nœud que vous voulez ajouter.
  2. ajouter le nouveau nœud au parent et le mettre dans une nouvelle variable
  3. ajouter l'arbre (l'arbre entier) la nouvelle variable.

Vérifiez le code:

var parent = document.getElementById("parentId"); 
var newNode = $("<li> NewNode </li>").appendTo(parent); 
$("#tree").treeview({ add : newNode }); 

et voilà :) Je espère aidé ...

+0

J'ai essayé ceci. Ça marche". Cependant cela ne garde pas un œil sur les classes que jQuery Treeview ajoute normalement aux éléments li et ul. Je ne pouvais pas trouver comment je pourrais dire à Treeview de "re-classer" tous les éléments de son arbre. L'ajout de toutes les classes ne fonctionne pas, car les nouvelles hitareas ne semblent pas liées. – SebiF

0

je l'ai fait, et cela fonctionne. Mais la hitarea est toujours visible, même sans enfant sous le nœud.

//HTML file 
<ul id='grandpa' class='treeview'></ul> 

//JS snippet when adding a first node - pay attention to the dummy <ul></ul> at the end 
var branches = $("<li><div id='dad'>Maybe-a-parent-node</div><ul></ul></li>").appendTo("#grandpa"); 

//JS snippet when adding some children in a middle of a tree 
pNode = $("#dad").children("ul"); // get the dummy ul and add children to it 
childrenHTML = "<li>Node 1</li>"; // can add more than 1 li here 
var children = $(childrenHTML).appendTo(pNode); 
$(pNode).treeview({ 
    add: children 
}); 

Je sais que cette question est assez vieux. Espérons que cela peut aider quelqu'un d'autre.

Questions connexes