jQuery全选反选取消实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选反选取消</title>
</head>
<body>

<button id="b1">全选</button>
<button id="b2">取消</button>
<button id="b3">反选</button>
<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>姓名</th>
        <th>爱好</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input type="checkbox"></td>
        <td>monicx</td>
        <td>写代码</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>jxx</td>
        <td>xxxx</td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>xxx</td>
        <td>xxxx</td>
    </tr>
    </tbody>
</table>
<script src="jquery-3.3.1.min.js"></script>
<script>
    // 全选
    $("#b1").click(function () {
        // 让所有的checkbox选中
        $("table :checkbox").prop("checked", true)
    });
    // 取消
    $("#b2").click(function () {
        // 让所有的checkbox取消选中
        $("table :checkbox").prop("checked", false)
    });
    // 反选
    $("#b3").click(function () {
//        // 找到没有选中的让它们选中
//        $("table input:not(:checked)").prop("checked", true);
//        // 找到所有选中的让它们取消选中
//        $("table input:checked").prop("checked", false);

        // 方法1:循环
        var $checkboxs = $("table input:checkbox");
//        for (let i=0;i<$checkboxs.length;i++){
//            var $currentCheckbox = $($checkboxs[i]);
//            if ($currentCheckbox.prop("checked")){
//                // 如果之前是选中的
//                $currentCheckbox.prop("checked", false);
//            }else {
//                // 之前没有选中
//                $currentCheckbox.prop("checked", true);
//            }
//        }
		//方法2:循环取反
        for (let i=0;i<$checkboxs.length;i++){
            var $currentCheckbox = $($checkboxs[i]);
            var flag = $currentCheckbox.prop("checked");
            $currentCheckbox.prop("checked", !flag)
        }

    });

</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值