Desidero migliorare alcuni set di campi con l'opzione di mostrare/nascondere il loro contenuto facendo clic sulla loro etichetta.jQuery flexible hide/show of fieldsets
Attualmente, il codice HTML simile al seguente:
<fieldset>
<legend>Fieldset 1</legend>
<!-- Some input, p, div, whatever -->
</fieldset>
<fieldset>
<legend>Fieldset 2</legend>
<!-- Some input, p, div, whatever -->
</fieldset>
Così, al clic di un fieldset legend
, tutt'altro che la leggenda cliccato del fieldset genitore dovrebbe essere attivato.
Ho provato ad utilizzare questo:
$("fieldset *:not(legend)").hide();
$("fieldset legend").click(function(){
$(this).nextAll().slideToggle();
});
Ma non fa nulla (nemmeno nascondere i contenuti in primo luogo). Ovviamente voglio solo attivare la vista sul campo che l'utente ha cliccato, quindi deve in qualche modo determinare quale legatura è stata cliccata e quindi nascondere il contenuto dei campi corrispondenti.
Certo, potrei dare loro tutti gli ID e scrivere il codice per ogni fieldset, ma questo è ridondante visto che sarebbe sempre lo stesso Penso che ci sia un modo per rendere questa funzionalità universale per qualsiasi quantità di set di campi. ..
Qualcuno ha una buona idea?
Sì, beh questo è un modo per farlo, naturalmente, e funzionerà, ancora è un hack e richiede che l'HTML sia modificato: -/Ancora, grazie. –
Come si fa a fare un trucco? ... non hai specificato che non volevi modificare l'HTML. – Mottie