10
votes

jQuery ui accordéon active

Je ne comprends pas comment faire cela, ou si je peux le faire. J'ai un accordéon d'interface utilisateur JQuery, plusieurs sections avec chaque section contenant plusieurs balises d'ancrage chacune avec un identifiant de chaîne unique.

J'aimerais pouvoir avoir l'accordéon ouvert à un élément donné avec un identifiant donné. Comme dire id "item117". Puis-je utiliser quelque chose comme xxx

ou même xxx

J'ai essayé ces et quelques variations mais que vous ne pouvez pas obtenir ça va aller. Dans le cas, j'essayais de travailler, l'accordéon aurait dû s'ouvrir à la fin de la deuxième section.


Je ne reçois toujours pas ça, alors peut-être que je fais quelque chose d'autre faux aussi. Je l'ai dépouillé à un exemple de page ici: http://www.ofthejungle.com/testavenordion. PHP S'il vous plaît jeter un coup d'œil à elle et sa source.


2 commentaires

Utilisez-vous la dernière version de l'interface utilisateur JQuery? Je crois que la fonction était modifier pas activer


Veuillez noter que cette question a été posée en 2009. Lorsque vous envisagez les réponses, vérifiez la date de la réponse pour voir si elle est opportune pour vous.


13 Réponses :


0
votes

Essayez xxx

ou xxx

la syntaxe correcte pour activer un accordéon est xxx

où l'index est une chaîne, élément, booléen, numéro, jQuery


0 commentaires

9
votes

Vous devez l'appeler à l'aide de la fonction appelée accordéon code>: xxx pré>

pour ouvrir une section contenant un élément spécifique, vous feriez quelque chose comme ça. Remarque: vous devez cibler la gâchette qui s'ouvre normalement et ferme la section. Dans les docs, il s'agit d'un élément H3 code>, votre élément de déclenchement peut être différent, alors changez cela en conséquence. Em> p>

$('#accordion').accordion('activate', '#accordion > div:has(#item117) > h3'); 


3 commentaires

Est-ce documenté dans l'API JQuery UI n'importe où?


Dans JQuery UI 1.10.2, je reçois l'erreur: non de cette méthode "activer" pour l'instance de widget accordéon


Je pense que vous voulez dire actif, pas activé.



3
votes

J'ai eu le même problème à activer un accordéon avec #id. Malheureusement, je n'avais pas trouvé de route pour cela, alors j'ai créé un hack. I ITERER à travers div (indirect> éléments de mon accordéon afin d'obtenir l'index d'intéressant div . Il ressemble à ceci: xxx


1 commentaires

Juste ce que je cherchais ce moment!



9
votes

Cela a finalement travaillé pour moi: xxx

note !!! L'identifiant doit être celui de l'élément

que vous souhaitez ouvrir (dans la configuration de l'accordéon par défaut).


0 commentaires

10
votes

pour moi travaille xxx


0 commentaires

0
votes

Vous pouvez également activer et désactiver l'accordéon comme celui-ci:

// Remove the class ui-state-disabled to the headers that you want to enable
$( ".whatyouwantenabled" ).removeClass("ui-state-disabled");


1 commentaires

Cela ne fonctionne pas pour moi. Les classes sont ajoutées, cependant, l'accordéon ne réagit pas.



12
votes

ont été sur cela aussi et trouvé une solution agréable et universelle
- émuler en cliquant sur strong> l'en-tête de l'élément requis par son ID

$('#header-of-item-258').click(); 


1 commentaires

J'aime ça et l'utiliser pour divers besoins de menu impairs. Mais j'aime utiliser les fonctionnalités intégrées dans la mesure du possible. Donc j'ai +1 vous et @btr :)



2
votes

Lorsque vous cliquez sur l'en-tête, il s'agit d'un élément H3 et il ouvre le prochain DIV..That est la fonctionnalité. Maintenant, pour activer, vous devez fournir un index ou l'élément. L'indice peut être différent de votre identifiant. Donc, j'utiliserais: xxx

Si vous avez l'index, vous pouvez utiliser cela..mais la plupart des cas, si vous avez créé l'accordéon de manière dynamique, il n'est pas facile d'obtenir l'index d'un identifiant. Vous pouvez trouver des indices comme celui-ci .. xxx

maintenant j'ai eu des ids .. Utilisation de l'index de: trouvez l'index dans le tableau et utilisez-le ..

REMARQUE: // idsforlaterchecks est global


0 commentaires

0
votes

Voici une autre façon.

Inclure un identifiant = "anormal" dans seulement chacun des étiquettes d'en-tête H3 de l'accordéon et nommez l'ID unique. p>

par exemple cet identifiant serait en série ' Accja 'Le prochain H4 serait' ACCJB ': P>

$.doTimeout(2000, function () {
    $('#Accjoin').accordion('activate', '#AccjoinA')
});


1 commentaires

Ce qui précède ne fonctionne pas maintenant avec 1.9. Comme Jeremy Zerr souligne maintenant. jquery 1.9. + a un setter différent !! API.JQUÉYUI.com/accordion/#OPtion-Aactive



-1
votes

Whatch the jQuery API

Activez le deuxième contenu de l'accordéon contenu dans. p> xxx pré>

ferme toutes les parties de contenu de l'accordéon. P>

$(".selector").activate("a:first")


0 commentaires

12
votes

de la documentation: xxx


0 commentaires

1
votes

avec jQuery 1.9+ le: xxx

est maintenant: xxx

si vous trouvez plus facile à utiliser des méthodes de traversée, si vous avoir html comme ceci: xxx

Essayez ceci: xxx


0 commentaires

-2
votes
$('#collapseOne').collapse('toggle');

0 commentaires