JS 怎么控制 checkbox 选中的问题

这篇博客介绍了如何使用HTML创建一组复选框,并通过JavaScript实现复选框的值与输入框文本的同步。当点击'确定'按钮时,JavaScript函数`save()`会根据输入框中的值设置复选框的状态,实现数据的双向绑定。

1、HTML结构

<input name="test" type="checkbox" value="1" />item-1

<input name="test" type="checkbox" value="2" />item-2

<input name="test" type="checkbox" value="3" />item-3

<input name="test" type="checkbox" value="4" />item-4

<input name="test" type="checkbox" value="5" />item-5

<input type="text" id="idData"><input type="button" value="确定" onclick="save()">

2、javascript代码

function save(){
    //val = "1,2,3,4,5"

    var val = document.getElementById("idDate").value.split(",");

    var boxes = document.getElementsByName("test");

    for(i=0;i<boxes.length;i++){

        for(j=0;j<val.length;j++){

            if(boxes[i].value == val[j]){

                boxes[i].checked = true;

                break

            }

        }

    }

}

要使用 JavaScript 实现全选复选框按钮控制其他复选框选中状态,可按以下步骤操作: ### 基础 HTML 结构 首先需要一个全选复选框和多个普通复选框,示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>全选复选框示例</title> </head> <body> <!-- 全选复选框 --> <input type="checkbox" id="checkAll"> 全选 <br> <input type="checkbox" class="checkbox" name="option1" value="option1"> 选项 1 <br> <input type="checkbox" class="checkbox" name="option2" value="option2"> 选项 2 <br> <input type="checkbox" class="checkbox" name="option3" value="option3"> 选项 3 <br> <script src="script.js"></script> </body> </html> ``` ### JavaScript 实现 在 JavaScript 中,为全选复选框添加事件监听器,当全选复选框状态改变时,将其他复选框的选中状态设置为与全选复选框一致: ```javascript // 获取全选复选框元素 const checkAll = document.getElementById('checkAll'); // 获取所有普通复选框元素 const checkboxes = document.querySelectorAll('.checkbox'); // 为全选复选框添加事件监听器 checkAll.addEventListener('change', function () { // 遍历所有普通复选框 checkboxes.forEach(function (checkbox) { // 将普通复选框的选中状态设置为与全选复选框一致 checkbox.checked = checkAll.checked; }); }); // 为普通复选框添加事件监听器,当普通复选框状态改变时,检查是否所有普通复选框都被选中 checkboxes.forEach(function (checkbox) { checkbox.addEventListener('change', function () { // 判断是否所有普通复选框都被选中 const allChecked = Array.from(checkboxes).every(function (cb) { return cb.checked; }); // 将全选复选框的选中状态设置为是否所有普通复选框都被选中 checkAll.checked = allChecked; }); }); ``` 上述代码通过事件监听器实现了全选复选框与其他复选框之间的状态同步。当全选复选框被选中或取消选中时,其他复选框的状态会相应改变;当其他复选框的选中状态改变时,全选复选框的状态也会根据其他复选框的整体选中情况进行更新。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值