javascript - 通过单击复选框将类添加到所有 <tr>

标签 javascript jquery html checkbox

使用这段代码,我选中了所有复选框:

$(".checkAllCheckboxes").click(function()
{
    $('input:checkbox').not(this).prop('checked', this.checked);
});

有了这个,我在复选框所在的元素中添加了一个类。

$(function()
{
    $('.table_row_checkbox').on('change',function(){
        if($(this).is(":checked")) 
        {
            $(this).parents('tr').addClass("checkbox_checked_row");
        } 
        else 
        {
            $(this).parents('tr').removeClass("checkbox_checked_row");
        }
    });
});

我如何在我的第一个代码中通过单击选择所有复选框将那个类添加到所有元素?


对不起,我不是这个意思。

我生成的表格代码如下:

    <table class="table table-hover table-bordered list">
  <thead>
    <tr>
      <td style="width: 1px; text-align: center;"><input type="checkbox" class="checkAllCheckboxes" /></td>
      <td style="text-align: center;">ID</td>
      <td class="left">Név</td>
      <td class="left">E-mail</td>
      <td class="left">Telefonszám</td>
      <td style="text-align: center;">Dátum</td>
      <td style="text-align: center;">Státusz</td>
      <td class="right">Műveletek</td>
    </tr>
  </thead>
  <tbody>
    <tr id="sor55">
      <td class="left"><input class="table_row_checkbox" type="checkbox" name="selectedRows[]" value="55" /></td>
      <td style="text-align: center;">55</td>
      <td class="left">Nagy Andrea</td>
      <td class="left">andi99@gmail.com</td>
      <td class="left">06 70 8382 11</td>
      <td style="text-align: center;">2016-08-13 20:33</td>
      <td style="text-align: center; color:#ff0000">Új üzenet</td>
      <td class="right"><a href="beerkezett-uzenet.php?id=55"><span class="btn btn-sm button"><span class="glyphicon glyphicon-pencil"></span></span></a> <a id="55" href="#" class="deleteLink"><span class="btn btn-sm btn-danger "><span class="glyphicon glyphicon-remove"></span></span></a></td>
    </tr>
    <tr id="sor54">
      <td class="left"><input class="table_row_checkbox" type="checkbox" name="selectedRows[]" value="54" /></td>
      <td style="text-align: center;">54</td>
      <td class="left">Nagy Andrea</td>
      <td class="left">andi99@gmail.com</td>
      <td class="left">06 70 8382 11</td>
      <td style="text-align: center;">2016-08-13 20:33</td>
      <td style="text-align: center; color:#ff0000">Új üzenet</td>
      <td class="right"><a href="beerkezett-uzenet.php?id=54"><span class="btn btn-sm button"><span class="glyphicon glyphicon-pencil"></span></span></a> <a id="54" href="#" class="deleteLink"><span class="btn btn-sm btn-danger "><span class="glyphicon glyphicon-remove"></span></span></a></td>
    </tr>
  </tbody>
</table>

在第一个中,有全选复选框。

最佳答案

$(".checkAllCheckboxes").click(function()
{
    $('input:checkbox').not(this).prop('checked', this.checked);
    $('input:checkbox').each(function() {
      if($(this).is(":checked")) 
    {
        $(this).parents('tr').addClass("checkbox_checked_row");
    } 
    else 
    {
        $(this).parents('tr').removeClass("checkbox_checked_row");
    }
         
    });;
});

$('.table_row_checkbox').on('change',function(){
    if($(this).is(":checked")) 
    {
        $(this).parents('tr').addClass("checkbox_checked_row");
    } 
    else 
    {
        $(this).parents('tr').removeClass("checkbox_checked_row");
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table table-hover table-bordered list">
  <thead>
    <tr>
      <td style="width: 1px; text-align: center;"><input type="checkbox" class="checkAllCheckboxes" /></td>
      <td style="text-align: center;">ID</td>
      <td class="left">Név</td>
      <td class="left">E-mail</td>
      <td class="left">Telefonszám</td>
      <td style="text-align: center;">Dátum</td>
      <td style="text-align: center;">Státusz</td>
      <td class="right">Műveletek</td>
    </tr>
  </thead>
  <tbody>
    <tr id="sor55">
      <td class="left"><input class="table_row_checkbox" type="checkbox" name="selectedRows[]" value="55" /></td>
      <td style="text-align: center;">55</td>
      <td class="left">Nagy Andrea</td>
      <td class="left">andi99@gmail.com</td>
      <td class="left">06 70 8382 11</td>
      <td style="text-align: center;">2016-08-13 20:33</td>
      <td style="text-align: center; color:#ff0000">Új üzenet</td>
      <td class="right"><a href="beerkezett-uzenet.php?id=55"><span class="btn btn-sm button"><span class="glyphicon glyphicon-pencil"></span></span></a> <a id="55" href="#" class="deleteLink"><span class="btn btn-sm btn-danger "><span class="glyphicon glyphicon-remove"></span></span></a></td>
    </tr>
    <tr id="sor54">
      <td class="left"><input class="table_row_checkbox" type="checkbox" name="selectedRows[]" value="54" /></td>
      <td style="text-align: center;">54</td>
      <td class="left">Nagy Andrea</td>
      <td class="left">andi99@gmail.com</td>
      <td class="left">06 70 8382 11</td>
      <td style="text-align: center;">2016-08-13 20:33</td>
      <td style="text-align: center; color:#ff0000">Új üzenet</td>
      <td class="right"><a href="beerkezett-uzenet.php?id=54"><span class="btn btn-sm button"><span class="glyphicon glyphicon-pencil"></span></span></a> <a id="54" href="#" class="deleteLink"><span class="btn btn-sm btn-danger "><span class="glyphicon glyphicon-remove"></span></span></a></td>
    </tr>
  </tbody>
</table>

关于javascript - 通过单击复选框将类添加到所有 <tr>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38941672/

相关文章:

javascript - functionName() 和 functionName.call(this) 之间的区别

javascript - 使用 Chrome 扩展的 Javascript 检查另一个网站上的所有框时出现问题

javascript - 使用 Jquery 在悬停时删除/添加边框

javascript - 你如何让 JQuery 等到上一个事件被触发

javascript - iframe 移动响应

html - 如何让图片、iframe、图标不间断地站在文本旁边

javascript - google. payments.inapp.getPurchases 不起作用

javascript - 同一变量有 2 个不同属性的条形图 [Chart.Js]

javascript - 使用 jquery/css 隐藏元素

jquery读取2类之间的一类数量