Sé que esto es viejo, pero la pregunta era un poco ambigua en la que de palanca puede significar que cada casilla de verificación debe alternar su estado, sea lo que sea. Si tiene 3 marcados y 2 desmarcados, alternar los 3 primeros sin marcar y los 2 últimos marcados.
Para eso, ninguna de las soluciones aquí funciona ya que hacen que todas las casillas de verificación tengan el mismo estado, en lugar de alternar el estado de cada casilla de verificación. Al hacer $(':checkbox').prop('checked')
en muchas casillas, se devuelve el AND lógico entre todas las propiedades binarias .checked
, es decir, si una de ellas está desmarcada, el valor devuelto es false
.
Debe usar .each()
si realmente desea alternar cada estado de casilla de verificación en lugar de hacer que todos sean iguales, p. Ej.
$(':checkbox').each(function() { this.checked = !this.checked; });
Tenga en cuenta que no es necesario $(this)
dentro del controlador como la propiedad existe .checked
en todos los navegadores.
@AnApprentice, lo siento, que son la misma cosa, sólo estaba siendo tonto;) –
Esto realmente ayudó. Gracias. – tmutton
¡Utilicé esto para ayudarme a activar/desactivar casillas de verificación individuales también! ¡Gracias por un código fantástico, breve y comprensible! – mbm29414