2010-06-09 13 views
3

J'ai un accordéon jquery auquel je veux ajouter des lignes. Je peux accomplir cela en appelant .accordion ("détruire"), en ajoutant le bit <h3></h3><div> ... nécessaire puis en appelant à nouveau .accordion(), mais cela détruit l'état et ferme tous les diviseurs qui sont ouverts.jquery-ui accordéon: ajouter des lignes sans détruire et recréer?

Est-il possible d'ajouter des lignes à l'accordéon sans le détruire et le recréer?

Répondre

4

Non ce n'est pas possible. jQuery devrait ajouter une méthode « ajouter » à l'accordéon comme ils ont pour les onglets:

//save state 
var state = $("#accordion").accordion("option", "active"); 
//add accordion item, destroy then re-create 
$("#accordion").append("<h3></h3><div/>").accordion("destroy").accordion(); 
//set state 
$("#accordion").accordion("option", "active", state); 

envelopper dans une méthode agréable, étendre l'accordéon, soumettre un patch, etc. Je n'ai pas testé cela, mais cela devrait fonctionner. Vous devrez peut-être ajuster la valeur d'état si l'onglet a été inséré avant l'élément accordéon actif, au lieu d'être ajouté à la fin.

+0

Il existe une [demande de fonctionnalité de l'interface utilisateur jQuery] (http://bugs.jqueryui.com/ticket/4672) ouverte pour cela, et même si elle a deux ans, elle a connu une activité au cours des deux dernières semaines. Pas à temps pour moi de l'utiliser, mais si quelqu'un d'autre trébuche à travers cela, cela pourrait valoir le coup d'oeil. À votre santé! –