jQuery flexible ein - /ausblenden des fieldsets
Möchte ich erhöhen einige fieldsets mit der option zum anzeigen /verbergen Ihren Inhalt bei Klick auf Ihrem label.
Derzeit die HTML sieht wie folgt aus:
<fieldset>
<legend>Fieldset 1</legend>
<!-- Some input, p, div, whatever -->
</fieldset>
<fieldset>
<legend>Fieldset 2</legend>
<!-- Some input, p, div, whatever -->
</fieldset>
Also, klicken Sie auf eines fieldset legend
nichts, aber die geklickt Legende des übergeordneten fieldset sollte ein-und ausgeschaltet werden.
Ich habe versucht mit diesem:
$("fieldset *:not(legend)").hide();
$("fieldset legend").click(function(){
$(this).nextAll().slideToggle();
});
Aber es nicht tun (auch nicht ausblenden der Inhalte in den ersten Platz). Natürlich will ich nur Umschalten der anzeigen auf dem sehr fieldset, den der Benutzer geklickt hat, es muss also irgendwie bestimmen, was der Legende angeklickt wurde, und dann verstecken Sie den Inhalt des entsprechenden fieldsets.
Sicher, ich konnte Ihnen alle IDs und schreiben Sie den code für jedes fieldset, aber das ist eher redundant zu sehen, es würde immer das gleiche ich denke, es ist ein Weg, um diese Funktionalität universell für jede Menge fieldsets...
Jemand eine nette Idee?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich du wäre würde ich wrap Inhalt fieldset in der div, und es auch so:
So, jetzt, wenn Sie auf das Etikett, rutscht der Inhalt nach oben/unten und lassen Sie Ihr label sichtbar.
Dieser funktioniert. Es ist das gleiche Konzept wirklich, nur die Umkehrung.
Extended version
HTML (Legende enthält [-] Spannweite):
JavaScript (benötigt jQuery):