Marque todas las casillas de verificación

Tengo una tabla con casillas de verificación y quiero hacer las casillas de verificación “marcar todo” y “desmarcar todas”, pero no pude encontrar la manera de marcar todas las casillas de verificación.

Aquí está mi código:

entries as $entry): ?> <input type="checkbox" class="chk_boxes1" name="to_delete[]" /> check all un-check all
$(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',checked) }) });

 $(function() { $('.chk_boxes').click(function() { $('.chk_boxes1').prop('checked', this.checked); }); }); 

Esto solo afecta la casilla de check all . ¿ Pero por qué querrías usar dos casillas de verificación de todos modos? Uno para verificar todo y uno para desmarcar todo, pero no mutuamente exclusivo. Esa debe ser la receta para confundir a los usuarios 🙂

Intenta usar true|false . Al igual que:

 $('.chk_boxes1').attr('checked',true); 

Comentario adicional:

Además, parece que su desmarcar y marcar todas las casillas de verificación son redundantes.

 check all  un-check all 

En lugar de hacer eso, solo puede tener una casilla que haga ambas cosas. Por lo tanto, su jQuery se verá así:

 $(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',$(this).attr('checked')); }) }); 

Con HTML:

 check all 

Vea la solución de trabajo aquí http://jsfiddle.net/HBGzy/

no necesita usar la casilla de verificación ” desmarcar todos ” 🙂

 $('.chk_boxes').click(function(){ var chk = $(this).attr('checked')?true:false; $('.chk_boxes1').attr('checked',chk); }); 

Te olvidaste de las citas:

 $('.chk_boxes1').attr('checked','checked') 

violín: http://jsfiddle.net/8ZHFn/

Prueba esto

  $(".chk_boxes").click(function() { var checked_status = this.checked; $(".chk_boxes1").each(function() { this.checked = checked_status; }); }); 

Por lo tanto, si el nombre de clase de todas las casillas de verificación que desea afectar al marcar o desmarcar la checkbox con la clase chk_boxes , es chk_boxes1 obtendrá todos los elementos y establecerá la propiedad marcada en consecuencia.

Creo que deberías usar el verdadero o falso para el atributo de checkbox.

  

Un consejo sobre comprobar todo / desmarcar todo … Como pienso después de seleccionar marcar todo, si el usuario hace clic en alguna de las casillas de verificación, la checkbox marcar todo debe estar desmarcada y también sin marcar marcar todo el recuadro, si el usuario selecciona todas las casillas de verificación una por debe ser seleccionado. Así que te sugiero que pruebes esto cuando uses check all / uncheck all …

 $(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',$(this).attr('checked')); }) $('.chk_boxes1').click(function(){ if($('.chk_boxes1').length == $('.chk_boxes1:checked').length) $('.chk_boxes').attr('checked',checked) else $('.chk_boxes').attr('checked',false) }) });