Un exemple plus complet qui devrait fonctionner dans votre cas :
$('#select_all').change(function() {
var checkboxes = $(this).closest('form').find(':checkbox');
checkboxes.prop('checked', $(this).is(':checked'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<table>
<tr>
<td><input type="checkbox" id="select_all" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
</table>
</form>
Lorsque le #select_all
Lorsque l'on clique sur une case à cocher, le statut de la case est coché et toutes les cases à cocher du formulaire actuel ont le même statut.
Notez que vous n'avez pas besoin d'exclure l'élément #select_all
de la sélection, car elle aura le même statut que toutes les autres. Si, pour une raison quelconque, vous devez exclure la case à cocher #select_all
vous pouvez utiliser ceci :
$('#select_all').change(function() {
var checkboxes = $(this).closest('form').find(':checkbox').not($(this));
checkboxes.prop('checked', $(this).is(':checked'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
<table>
<tr>
<td><input type="checkbox" id="select_all" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
<tr>
<td><input type="checkbox" name="select[]" /></td>
</tr>
</table>
</form>
0 votes
Voici un lien vers le codepen avec ceci codepen.io/nickhq/pen/pZJVEr