HTML+JS实现一组复选框的全选、取消、反选

HTML+JS实现一组复选框的全选、取消、反选

预计效果

实现一组复选框的全选、反选、取消选中的功能,界面如下图
在这里插入图片描述

代码

该代码可在我的GitHub中找到,链接在此

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>一组复选框的全选、取消、反选</title>
    <script type="text/javascript">
        // 全选函数
        function selectAll() {
            var chks = document.getElementsByName("chkHobby");
            for (var i = 0; i < chks.length; i++)
            {
                chks[i].checked = true;
            }
        }

        // 取消函数
        function selectNone() {
            var chks = document.getElementsByName("chkHobby");
            for (var i = 0; i < chks.length; i++)
            {
                chks[i].checked = false;
            }
        }

        // 反选函数
        function selectReverse() {
            var chks = document.getElementsByName("chkHobby");
            for (var i = 0; i < chks.length; i++)
            {
                chks[i].checked = !chks[i].checked;
            }
        }
    </script>
</head>
<body>
    <form id="frm_1">
        <fieldset>
            <legend>爱好</legend>
            <input type="checkbox" name="chkHobby" value="internet" />上网
            <input type="checkbox" name="chkHobby" value="reading" />阅读
            <input type="checkbox" name="chkHobby" value="games" />游戏
            <input type="checkbox" name="chkHobby" value="sports" />运动
            <input type="checkbox" name="chkHobby" value="shopping" />购物
        </fieldset>
        <input type="button" name="btn" value="全选" onclick="selectAll()" />
        <input type="button" name="btn" value="反选" onclick="selectReverse()" />
        <input type="button" name="btn" value="取消" onclick="selectNone()" />
    </form>
</body>
</html>

关键代码解释

<input type="checkbox" />是带有一个预选定复选框的 HTML 表单
它有一个checked属性,这个属性表示是否选定,当这个属性为true时,框表示为选定状态,当这个属性为false时,框表示为未选定状态

将每一个<input type="checkbox" />设定一个相同的name属性,在 JavaScript 代码中,通过document.getElementsByName()的方法,获取到每一个<input type="checkbox" />

  • 在全选函数中,将每一个<input type="checkbox" />checked属性变为true
  • 在取消函数中,将每一个<input type="checkbox" />checked属性变为false
  • 在反选函数中,将每一个<input type="checkbox" />checked属性变为当前该属性值的相反值

结果展示

在这里插入图片描述
点击上网阅读,结果如下图
在这里插入图片描述
再次点击可以取消选定,点击反选按钮,结果如下图
在这里插入图片描述
点击全选按钮,结果如下图
在这里插入图片描述
点击取消按钮,结果如下图
在这里插入图片描述

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
答案: 要实现全选反选功能,需要借助 JavaScript 实现。可以通过设定一个全选复选框,以及多个子复选框实现全选反选的功能。 以下是一个实现全选反选JavaScript 代码示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全选反选</title> <script type="text/javascript"> // 获取全选复选框和所有子复选框 var selectAll = document.getElementById("select-all"); var checkboxes = document.getElementsByName("checkbox"); // 全选复选框的事件处理函数 selectAll.onclick = function () { for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].checked = selectAll.checked; } }; // 子复选框的事件处理函数 for (var i = 0; i < checkboxes.length; i++) { checkboxes[i].onclick = function () { var checkedCount = 0; for (var j = 0; j < checkboxes.length; j++) { if (checkboxes[j].checked) { checkedCount++; } } selectAll.checked = (checkedCount == checkboxes.length); }; } </script> </head> <body> <input type="checkbox" id="select-all">全选<br> <input type="checkbox" name="checkbox">选项1<br> <input type="checkbox" name="checkbox">选项2<br> <input type="checkbox" name="checkbox">选项3<br> <input type="checkbox" name="checkbox">选项4<br> </body> </html> ``` 这段代码会在页面上生成一个全选复选框以及四个子复选框,点击全选时,所有子复选框都会被选中;再次点击全选时,所有子复选框都会取消选中。同时,每次点击子复选框时,全选复选框的状态会被更新。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值