Este dilema se puede abordar de diversas maneras, pero en este caso te compartimos la que en nuestra opinión es la solución más completa.
Solución:
Puedes escribir:
$(document).ready(function()
$("#select-all-teammembers").click(function()
var checkBoxes = $("input[name=recipients\[\]]");
checkBoxes.prop("checked", !checkBoxes.prop("checked"));
);
);
Antes de jQuery 1.6, cuando solo teníamos attr() y no prop(), solíamos escribir:
checkBoxes.attr("checked", !checkBoxes.attr("checked"));
Pero prop()
tiene mejor semántica que attr()
cuando se aplica a HTML “booleano” attributespor lo que generalmente se prefiere en esta situación.
//this toggles the checkbox, and fires its event if it has
$('input[type=checkbox]').trigger('click');
//or
$('input[type=checkbox]').click();
Sé que esto es viejo, pero la pregunta era un poco ambigua en eso palanca puede significar que cada casilla de verificación debe alternar su estado, sea lo que sea. Si tiene 3 marcadas y 2 sin marcar, al alternar, las 3 primeras quedarán sin marcar y las 2 últimas marcadas.
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. Haciendo $(':checkbox').prop('checked')
en muchas casillas de verificación devuelve el AND lógico entre todos .checked
propiedades binarias, es decir, si una de ellas no está marcada, el valor devuelto es false
.
necesitas usar .each()
si desea alternar cada estado de casilla de verificación en lugar de hacerlos todos iguales, por ejemplo
$(':checkbox').each(function () this.checked = !this.checked; );
Tenga en cuenta que no necesita $(this)
dentro del manipulador como el .checked
La propiedad existe en todos los navegadores.
Aquí tienes las comentarios y puntuaciones
Si crees que ha resultado de utilidad este artículo, sería de mucha ayuda si lo compartes con más desarrolladores de esta manera contrubuyes a dar difusión a este contenido.