отметьте все флажки

У меня есть таблица с флажками, и я хочу установить флажки «check all» и «un-check all», но я не смог найти способ проверить все флажки.

Вот мой код:

<form> <?php foreach ($this->entries as $entry): ?> <tr class="table_head_seperator"> <td class="grid_info" width="32px" bgcolor="#f6f6f6"><input type="checkbox" class="chk_boxes1" name="to_delete[<?PHP echo $entry['id'] ?>]" /></td> <td class="grid_info" width="160px" bgcolor="#eeeeee"><span class="country_name"><?php echo $entry['user_name'] ?></span></td> <td class="grid_info" width="130px" bgcolor="#eeeeee"><span class="country_name"><?php echo $entry['date_created'] ?></span></td> <td class="grid_info" width="100px" bgcolor="#f6f6f6"><span class="country_name"><?php echo $entry['user_type_name'] ?></span></td> </tr> <?PHP endforeach; ?> <input type="checkbox" class="chk_boxes" label="check all" />check all <input type="checkbox" class="unchk_boxes" /> un-check all </form> <script type="text/javascript"> $(document).ready(function() { $('.chk_boxes').click(function(){ $('.chk_boxes1').attr('checked',checked) }) }); </script> 

Related of "отметьте все флажки"

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

Это влияет только на поле « check all . Но почему вы все равно хотите использовать два флажка? Один, чтобы проверить все и один, чтобы снять все флажки, но не взаимоисключающие. Это должен быть рецепт, чтобы запутать пользователей 🙂

Попробуйте использовать true|false . Вот так:

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

Дополнительный комментарий:

Кроме того, кажется, что вы не уверены, и все флажки сброшены.

 <input type="checkbox" class="chk_boxes" label="check all" />check all <input type="checkbox" class="unchk_boxes" /> un-check all 

Вместо этого вы можете иметь только один флажок, который делает оба. Таким образом, ваш jQuery будет выглядеть так:

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

С HTML:

 <input type="checkbox" class="chk_boxes" label="check all" />check all 

См. Рабочее решение здесь http://jsfiddle.net/HBGzy/

вам не нужно использовать флажок « Снять отметку со всех » 🙂

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

Вы забыли о котировках:

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

скрипка: http://jsfiddle.net/8ZHFn/

Попробуй это

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

Таким образом, если имя класса всех chk_boxes , которые вы хотите повлиять при проверке или снятии флажка с классом chk_boxes , это chk_boxes1 это получит все элементы и соответственно настроит проверенное свойство.

я думаю, вы должны использовать true или false для атрибута checkbox.

 <script type="text/javascript" charset="utf-8"> $('document').ready( function() { $('.chk_boxes').click( function() { $(':checkbox').attr('checked',true); }); }); </script> 

Совет по проверке all / uncheck all .. Как я думаю, после выбора проверки все, если пользователь нажмет на любой из checkbox1s, флажок check all должен быть снят, а также без щелчка на флажке «Все», если пользователь каждый раз выбирает все checkbox1s, должен быть выбран. Поэтому я предлагаю вам попробовать это при использовании проверки 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) }) });