Je sais que c'est vieux, mais la question était un peu ambigu dans cette bascule peut signifier chaque case doit basculer son état, quelle qu'elle soit. Si vous avez 3 vérifié et à 2 pas cochée, puis basculement ferait les 3 premiers de manière incontrôlée, et les 2 derniers vérifié.
Pour cela, aucune des solutions ici, le travail qu'ils font toutes les cases ont le même état, plutôt que d'alterner chaque case de l'état. Faire $(':checkbox').prop('checked')
sur de nombreuses cases retourne le ET logique entre tous .checked
les propriétés binaires, c'est à dire si l'un d'entre eux n'est pas cochée, la valeur retournée est - false
.
Vous devez utiliser .each()
si vous souhaitez activer chaque case de l'état plutôt que de les rendre tous égaux, par exemple
$(':checkbox').each(function () { this.checked = !this.checked; });
Notez que vous n'avez pas besoin d' $(this)
à l'intérieur, le gestionnaire comme l' .checked
propriété existe dans tous les navigateurs.