欢迎访问成都祈钰瑶科技有限公司!

全国免费服务热线:

18982081108
✕

成都网站设计公司,成都响应式网站设计,成都移动端网站设计,成都网站UI设计

JavaScript之全选/反选/取消,for循环闭包-创新互联

需求:table中要求点击红色单元格和点击checkbox的效果一样,最后一行点击就是全选、反选、取消选择的效果。
JavaScript之全选/反选/取消,for循环闭包

创新互联是一家专注于网站建设、网站设计与策划设计,左云网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:左云等地区。左云做网站价格咨询:18982081108
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        table{
           width: 400px;
            height: 15px;
            background-color: palegreen;
            text-align: center;
        }
        .check{
           width: 20%;
            background-color: indianred;
        }
        input{
            display: inline-block;
            vertical-align:middle;
        }
        div{
            display: inline-block;
           width: 400px;
        }
        div input{
            display: inline-block;
           width: 20%;
        }
        .select{
            background-color: bisque;
        }
    </style>
</head>
<body>
<table border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td class="check"><input class="inputcheck" type="checkbox"></td>
        <td>富贵竹</td>
        <td>绿萝</td>
    </tr>
    <tr>
        <td class="check"><input class="inputcheck" type="checkbox"></td>
        <td>栀子花</td>
        <td>月季</td>
    </tr>
    <tr>
        <td class="check"><input class="inputcheck" type="checkbox"></td>
        <td>金银花</td>
        <td>菊花</td>
    </tr>
    <tr>
        <td class="check check4"><input class="inputcheck" type="checkbox"></td>
        <td>玫瑰</td>
        <td>百合</td>
    </tr>
    <tr class="select">
        <td><input class="selectall" type="button" value="全选"> </td>
        <td><input class="reserve" type="button" value="反选"> </td>
        <td><input class="cancel" type="button" value="取消"> </td>
    </tr>
</table>
<script>
    var ele= document.getElementsByTagName("input");
    var check= document.getElementsByClassName("check");
    var inputcheck= document.getElementsByClassName("inputcheck");
    var all = document.getElementsByClassName("selectall")[0];
    var reserve = document.getElementsByClassName("reserve")[0];
    var cancel = document.getElementsByClassName("cancel")[0];

    //for循环闭包
    for(var i=0;i<check.length;i++){
        var td =  check[i];
        td.onclick = function () {
            var td =  check[i];
            return function () {
                var input = td.getElementsByTagName("input")[0];
                if(input.checked){
                    input.checked = false;
                }else {
                     input.checked = true;
                }
            }
        }(i)
    }
    //for循环闭包
    for(var i=0;i<inputcheck.length;i++){
        var input =  inputcheck[i];
        input.onclick = function () {
            var input =  inputcheck[i];
            return function () {
                if(input.checked){
                    input.checked = false;
                }else {
                     input.checked = true;
                }
            }
        }(i)
    }

    //全选
    all.onclick=function () {
        for(var i=0;i<ele.length;i++){
            ele[i].checked=true;
        }
    }
    //反选
    reserve.onclick=function () {
        for(var i=0;i<ele.length;i++){
            if(ele[i].checked){
                ele[i].checked=false;
            }
            else {
                ele[i].checked=true;
            }
        }
    }
    //取消
    cancel.onclick =function () {
        for(var i=0;i<ele.length;i++){
            ele[i].checked=false;
        }
    }
</script>
</body>
</html>

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。