javascript - 如何在循环中实现Jquery复选框全选/取消全选功能?

标签 javascript jquery codeigniter

我在循环中有一个复选框,我想使用 jquery 来检查所有并取消检查所有。我已经实现了 Jquery 全选和取消全选功能,但是,它仅在检查 checkall 标记的复选框后才检查循环中的第一个复选框。我怎样才能正确地实现这一点?代码如下所示。谢谢。

查看:

<div><input type="checkbox" class="check_all"> Check all</div>
  <?php
      $cnt=0;
   echo form_open('students/del_student/'.$tennant_id);
    foreach($data_student as $row)
    {
      $cnt++;
      echo"<input type='hidden' name='course_occasion_id'   value=".$row->course_occasion_id.">";
      ?>
       <address>

     <div class="row-fluid">
      <div class="span2"><input type='checkbox' name='student_id[]'id="student_id" value="<?php echo $row->id;?>"  ></div>
      <div class="span4"><?php echo anchor("students/student/$row->id/$tennant_id",$row->first_name);?></div>
      <div class="span4"><?php echo $row->last_name;?> </div>
      <div class="span2"><?php echo $row->status;?> </div>
     </div>
     </address>
    <?php
     }
     ?>

Javascript:

 <script type="text/javascript">

   $('.check_all').on('click', function () {


    $("#student_id").prop('checked', $(this).prop('checked'));


   });
  </script>

输出:

enter image description here

最佳答案

您正在使用相同的 ID 创建每个复选框:

id="student_id"

ID 在整个页面中应该是唯一的。

相反,将其更改为一个类,例如class="student_id" 并更改选择器以查找类(class):

$(".student_id").prop('checked', $(this).prop('checked'));

关于javascript - 如何在循环中实现Jquery复选框全选/取消全选功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17650116/

相关文章:

javascript - 查找字母数字字符、文本并替换为 HTML

php - 'userc.u_id' 中的未知列 'on clause'

javascript - AngularJS 飞利浦 Hue 项目

javascript - Grunt uglify 0.5 不写源图吗?

javascript - 如何激活 jQuery Accordion 菜单?

mysql - 获取值并在模式弹出窗口中更新而无需在 codeigniter 中刷新页面

php - 如何在 codeigniter 中将带有空格的参数从 URL 传递给 Controller ​​?

javascript - JScript/WMI - 如何检查项目的类/类型?

javascript - 如何在 HTML 和 jQuery 中跟踪类似的内容?

javascript - 取消绑定(bind) window.onbeforeunload() 取消