原生js-input框全选

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table
        {
            border-collapse: collapse;
        }
        td
        {
            border: 1px solid #000000;
            width: 100px;
            height: 30px;
            text-align: center;
        }
    </style>
</head>
<body>
    <table>
        <tr>
            <td>
                <label for="allCheck">全选</label><br><input id="allCheck" type="checkbox">
            </td>
        </tr>
        <tr>
            <td>
                <input id="check0" type="checkbox">
            </td>
        </tr>
        <tr>
            <td>
                <input id="check1" type="checkbox">
            </td>
        </tr>
        <tr>
            <td>
                <input id="check2" type="checkbox">
            </td>
        </tr>
        <tr>
            <td>
                <input id="check3" type="checkbox">
            </td>
        </tr>
        <tr>
            <td>
                <input id="check4" type="checkbox">
            </td>
        </tr>
    </table>
    <script>
        var allCheck=document.getElementById("allCheck");
        allCheck.addEventListener("click",clickHandler);
        for(var i=0;i<5;i++){
            var check=document.getElementById("check"+i);
            check.addEventListener("click",clickHandler)
        }

        function clickHandler(e) {
            if(this===allCheck){
                for(var i=0;i<5;i++){
                    var check=document.getElementById("check"+i);
//                    让所有的多选框的checked都和全选的checked相同
                    check.checked=allCheck.checked;
                }
                return;//终结后面的代码
            }

            for(var j=0;j<5;j++){
                var checks=document.getElementById("check"+j);
                if(!checks.checked){
                    allCheck.checked=false;
                    return;
                }
            }
            allCheck.checked=true;

        }
    </script>
</body>
</html>
复制代码

 

posted @   吴小明-  阅读(3683)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
点击右上角即可分享
微信分享提示