怎么间接全选复选框按钮,让全选按钮被选中

复选框全选时平常都是点击完全选按钮也会选中,有没有一种办法能在间接全选复选框按钮也能让全选按钮选中

就是点击下面3个正方形,让三个复选框按钮都被选中,但这样全选按钮不会选中

img

你题目的解答代码如下:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <title> 页面名称 </title>
</head>
<body>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
<input type="checkbox" id="all" value="" /><label for="all">全选</label>
<div id="box">
    <input type="checkbox" value="" />
    <input type="checkbox" value="" />
    <input type="checkbox" value="" />
</div>
<script type="text/javascript">
$(function(){
    var ch = $("#box input[type='checkbox']");
    $("#all").change(function(event){
        ch.prop("checked",$(this).prop("checked"));
    });
    ch.change(function(event){
        var v = ch.get().every(function(t){
            return $(t).prop("checked");
        });
        $("#all").prop("checked",v);
    });
});
</script>
</body>
</html>

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

思路:

  1. 记录复选框总数
  2. 记录已选中数量
  3. 监听每个复选框的change事件,动态更改选中的数量,同时比较选中数量是否等于总数来执行全选的取消与选中
  4. 点击全选的同时将选中数量等于总数,取消全选同期将选中数归0

扩展:
总数可以动态获取
已选中数量也可以动态
再利用封装函数简化重复代码
完美!
手机就不码代码了,思路提供给你🤲