首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js简单表格列表全选反选代码

在JavaScript中实现一个简单的表格列表的全选和反选功能,可以通过以下步骤来完成:

基础概念

  • 全选:选中表格中的所有行。
  • 反选:选中当前未选中的行,并取消选中当前已选中的行。

相关优势

  • 用户体验:提供便捷的操作方式,使用户能够快速选择或取消选择所有项目。
  • 代码简洁:使用JavaScript可以轻松实现这一功能,不需要复杂的逻辑。

类型与应用场景

  • 类型:这是一种常见的UI交互功能,适用于任何需要批量操作的表格列表。
  • 应用场景:例如,在电商平台的购物车页面,用户可以全选所有商品进行结算;在管理后台的数据列表中,管理员可以全选数据进行批量删除或修改。

示例代码

以下是一个简单的HTML和JavaScript代码示例,展示了如何实现表格的全选和反选功能:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表格全选反选示例</title>
<style>
  table {
    width: 100%;
    border-collapse: collapse;
  }
  th, td {
    border: 1px solid #ddd;
    padding: 8px;
  }
  th {
    background-color: #f2f2f2;
  }
</style>
</head>
<body>

<table id="itemTable">
  <thead>
    <tr>
      <th><input type="checkbox" id="selectAll"></th>
      <th>商品名称</th>
      <th>价格</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><input type="checkbox" class="itemCheckbox"></td>
      <td>商品A</td>
      <td>¥100</td>
    </tr>
    <tr>
      <td><input type="checkbox" class="itemCheckbox"></td>
      <td>商品B</td>
      <td>¥200</td>
    </tr>
    <!-- 更多行 -->
  </tbody>
</table>

<script>
  document.getElementById('selectAll').addEventListener('change', function() {
    var checkboxes = document.querySelectorAll('.itemCheckbox');
    for (var i = 0; i < checkboxes.length; i++) {
      checkboxes[i].checked = this.checked;
    }
  });

  document.querySelectorAll('.itemCheckbox').forEach(function(checkbox) {
    checkbox.addEventListener('change', function() {
      var allChecked = true;
      document.querySelectorAll('.itemCheckbox').forEach(function(cb) {
        if (!cb.checked) allChecked = false;
      });
      document.getElementById('selectAll').checked = allChecked;
    });
  });
</script>

</body>
</html>

解释

  1. HTML部分
    • 创建一个表格,其中包含一个全选复选框(id="selectAll")和多个商品项的复选框(class="itemCheckbox")。
  • JavaScript部分
    • 为全选复选框添加事件监听器,当其状态改变时,更新所有商品项复选框的状态。
    • 为每个商品项复选框添加事件监听器,当任意一个商品项复选框状态改变时,检查所有商品项复选框是否都被选中,并相应地更新全选复选框的状态。

通过这种方式,可以实现一个简单而有效的全选和反选功能,提升用户体验。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券