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 p> ou même p> 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. P> 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. p> p>
13 Réponses :
Essayez ou p> la syntaxe correcte pour activer un accordéon est p> où l'index est une chaîne, élément, booléen, numéro, jQuery p> p>
Vous devez l'appeler à l'aide de la fonction appelée 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 accordéon code>:
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');
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 code>
Je pense que vous voulez dire actif, pas activé.
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 code>. Il ressemble à ceci:
Juste ce que je cherchais ce moment!
Cela a finalement travaillé pour moi: note !!! L'identifiant doit être celui de l'élément que vous souhaitez ouvrir (dans la configuration de l'accordéon par défaut). P> p>
pour moi travaille
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");
Cela ne fonctionne pas pour moi. Les classes sont ajoutées, cependant, l'accordéon ne réagit pas.
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();
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 :)
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: 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 .. p> maintenant j'ai eu des ids ..
Utilisation de l'index de: trouvez l'index dans le tableau et utilisez-le .. p> REMARQUE: // idsforlaterchecks est global p> p>
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') });
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
Whatch the jQuery API
Activez le deuxième contenu de l'accordéon contenu dans. p> ferme toutes les parties de contenu de l'accordéon. P> $(".selector").activate("a:first")
de la documentation:
avec jQuery 1.9+ le: est maintenant: p> si vous trouvez plus facile à utiliser des méthodes de traversée, si vous avoir html comme ceci: p> Essayez ceci: p>
$('#collapseOne').collapse('toggle');
Utilisez-vous la dernière version de l'interface utilisateur JQuery? Je crois que la fonction était
modifier code> pas
activer code>
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.