JavaScript实现复选框全选功能

JavaScript实现复选框全选功能的方法有很多,其中一种常用的方法是使用jQuery库的实现方式。下面我来详细讲解一下该方法的步骤。

JavaScript实现复选框全选功能的方法有很多,其中一种常用的方法是使用jQuery库的实现方式。下面我来详细讲解一下该方法的步骤。

步骤

1. 引入jQuery库文件

在HTML代码的头部引入jQuery库文件,例如:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

2. 编写全选复选框的代码

在HTML代码中添加一个全选复选框,设置其id为“check-all”,例如:

<input type="checkbox" id="check-all">全选

3. 编写复选框的代码

在HTML代码中添加一组复选框,设置它们的class为“checkbox”,例如:

<input type="checkbox" class="checkbox" value="1">选项1
<input type="checkbox" class="checkbox" value="2">选项2
<input type="checkbox" class="checkbox" value="3">选项3

4. 编写JavaScript代码

利用jQuery库来编写复选框全选功能的JavaScript代码,例如:

$(function() {  // 等价于 $(document).ready(function(){
  // 全选按钮的改变事件
  $('#check-all').change(function() {
    // 如果全选按钮被选中
    if($(this).is(':checked')) {
      // 将所有复选框选中
      $('.checkbox').prop('checked', true);
    } else {
      // 将所有复选框取消选中
      $('.checkbox').prop('checked', false);
    }
  });

  // 复选框的改变事件
  $('.checkbox').change(function() {
    // 获取所有复选框的数量
    var checkboxes = $('.checkbox').length;
    // 获取选中的复选框的数量
    var checkedboxes = $('.checkbox:checked').length;
    // 如果所有复选框都被选中,则选中全选按钮,否则取消选中
    if(checkboxes == checkedboxes) {
      $('#check-all').prop('checked', true);
    } else {
      $('#check-all').prop('checked', false);
    }
  });
});

示例

下面是一个完整的示例代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>复选框全选功能示例</title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
  <h3>选项</h3>
  <input type="checkbox" id="check-all">全选
  <br>
  <input type="checkbox" class="checkbox" value="1">选项1
  <input type="checkbox" class="checkbox" value="2">选项2
  <input type="checkbox" class="checkbox" value="3">选项3

  <script>
    $(function() {  // 等价于 $(document).ready(function(){
      $('#check-all').change(function() {
        if($(this).is(':checked')) {
          $('.checkbox').prop('checked', true);
        } else {
          $('.checkbox').prop('checked', false);
        }
      });

      $('.checkbox').change(function() {
        var checkboxes = $('.checkbox').length;
        var checkedboxes = $('.checkbox:checked').length;
        if(checkboxes == checkedboxes) {
          $('#check-all').prop('checked', true);
        } else {
          $('#check-all').prop('checked', false);
        }
      });
    });
  </script>
</body>
</html>

在上面的示例代码中,当用户点击“全选”复选框时,所有的复选框都会被选中;当用户取消“全选”复选框时,所有的复选框都会取消选中。当用户选择或取消任意一个复选框时,如果所有复选框都被选中,则“全选”复选框会被选中;否则,“全选”复选框会取消选中。

本文标题为:JavaScript实现复选框全选功能

基础教程推荐