In primo luogo, volevo solo dire che sono senza speranza con jQuery.jQuery selezionare tutte le caselle di controllo figlio
stavo guardando un po 'di codice da un post su qui che seleziona ogni casella di controllo genitori (e lavora):
$(function() {
$(":checkbox").change(function() {
$(this).parents().children(':checkbox').attr('checked', this.checked);
});
});
abbiamo una struttura ad albero con <ul> <li>
e ciascuno <li>
ha una casella di controllo. Voglio fare l'opposto di quanto sopra ed eseguire la stessa selezione di caselle di controllo su tutte le caselle di controllo figlio.
Qualcuno può modificare quanto sopra per farlo?
Solo per notare che stiamo usando il rasoio e ogni casella è un @ Html.CheckboxFor quindi l'uscita è sulla falsariga di:
<input name="Survey.Buildings[0].IsSelected" type="checkbox" value="true" checked="checked" data-val="true" data-val-required="The Selected? field is required." id="Survey_Buildings_0__IsSelected" />
<input name="Survey.Buildings[0].IsSelected" type="hidden" value="false" />
- EDIT 2:
OK Ho fissa il codice HTML e la struttura ora assomiglia a:
<ul>
<li> Cbx1
<ul>
<li> Cbx 2 </li>
</ul>
</li>
<li> Cbx3 </li>
<li> Cbx4
<ul>
<li> Cbx 5 </li>
<li> Cbx 6 </li>
</ul>
</li>
</ul>
Quindi, se Cbx4 è stato controllato un Cbx5 ND 6 sarebbero controllati, e se è stato deselezionata Sarebbero incontrollato
Molto apprezzato
Andy
Si dovrà fornire alcune specifiche frammento di codice HTML, e descrivere esattamente quali scatole devono essere controllati quando un alcuni cambiamenti box. – nbrooks
Aggiornato il mio post –
se Cbx2 è spuntato non accadrà nulla, desidero attivare o disattivare le caselle secondarie. Quindi cbx1 commuterebbe cbx2 non viceversa e cbx4 commuterebbe cbx5 e 6. –