Ho una casella di controllo per selezionare tutti i problemi. Ho più caselle di controllo che possono essere attivate da una principale.jQuery checkbox: seleziona tutti/nessuno tranne uno
Se è il controllo principale, è possibile selezionare qualsiasi casella di controllo (che funziona). Ora il mio problema è quando controllo "nessuno" tutti sono andati anche il master
Quello che mi serve è non deselezionare il master. Posso avere tutte le caselle che voglio.
Esiste una soluzione per farlo senza inserire un ID o deselezionare automaticamente tutte le caselle di controllo e non quella principale?
Ecco il mio codice:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#checkAll').click(function() {
if(!$('#master').is(':checked')) { return;
} $('input[type="checkbox"]').attr('checked', true);
});
$('#checkNone').click(function() {
$('input[type="checkbox"]').attr('checked', false); });
$('#master').click(function() { if($('#master').is(':checked')) {
return; } $('input[type="checkbox"]').attr('checked', false);
});
$('input[type="checkbox"]').click(function() {
if(!$('#master').is(':checked')) { $(this).attr('checked', false);
}
});
});
</script>
</head>
<input type="checkbox" value="master" id="master">master
<span id="checkAll">All</span>
<span id="checkNone">None</span>
<input type="checkbox" value="1" id="c1">1
<input type="checkbox" value="2" id="c2">2
<input type="checkbox" value="3" id="c3">3
<input type="checkbox" value="4" id="c4">4
<input type="checkbox" value="5" id="c5">5
deselezionare tutto poi ricontrollare il maestro –