文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

JS如何实现表单全选以及取消全选功能

2023-06-29 09:45

关注

小编给大家分享一下JS如何实现表单全选以及取消全选功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体内容如下

实现效果:

全选按钮:点击全选按钮所有的小按钮都会被选中;点掉全选按钮,所有按钮取消选中;

小按钮:只有全部被选中,全选按钮才会被选中

思路分析:

1、全选和取消全选做法:让下面所有复选框的 checked属性(选中状态)跟随全选按钮即可

使用 this.checked 可以获得当前复选框的状态,如果是true就代表被选中,如果是false就代表没被选中。

注:<input>的 checked 属性是一个布尔属性,checked 属性规定在页面加载时应该被预先选定的<input> 元素。

inp[i].checked = this.checked; 使下面所有的复选框的checked属性值等同于 全选按钮的checked值,跟随全选按钮的状态。

this.checked 得到的是 true或是 false,如果是true,就把true赋值给所有下面的复选框的 checked属性。

想实现全选和取消全选,最核心的思路就在于:把全选按钮当前是否选中的状态,将这个状态赋给下面所有复选框

2、下面的复选框需要全部选中,上面全选按钮才是选中状态的做法:(下面复选框的小按钮有一个没被选中,那么全选按钮也是没被选中的状态)给下面的复选框绑定点击事件,每次点击都要循环查看下面复选框是否还有没被选中的,如果有一个没被选中的,上面全选就不选中。

3、可以设置一个变量来控制全选按钮是选中还是没选中。var flag=true;

代码:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>表单全选+取消全选</title>    <style>    *{          margin:0;padding: 0;      }      table{          width:500px;          position:relative;          margin:100px auto;          border-collapse:collapse;          border:1px solid #d7d7d7;      }      thead tr{          background-color:#222;          font-weight: 600;          color:#e9e9e9;      }      tbody tr:hover{          background: #F5F5F5;      }      table tr{          text-align: center;          height:30px;      }    </style></head><body><table border=1>    <thead>        <tr>            <td><input type="checkbox" id='cekall'></td>            <td>商品</td>            <td>价钱</td>        </tr>    </thead>    <tbody>        <tr>            <td><input type="checkbox" name="" id=""></td>            <td>iPhone 11</td>            <td>5999.0</td>        </tr>        <tr>            <td><input type="checkbox" name="" id=""></td>            <td>荣耀20</td>            <td>2299.0</td>        </tr>        <tr>            <td><input type="checkbox" name="" id=""></td>            <td>iPhone XR</td>            <td>4499.0</td>        </tr>    </tbody>    </table></body><script>    // 1、全选和取消全选做法:让下面所有复选框的 checked属性(选中状态)跟随全选按钮即可    // 获取元素,获取全选按钮和下面小的复选框    var cekall = document.getElementById('cekall');    var inp = document.querySelector('tbody').getElementsByTagName('input');    // 注册事件    cekall.onclick = function(){        // this.checked  可以得到当前复选框的选中状态,如果是 true 就是选中,如果是 false 就是未选中        console.log(this.checked);        for(var i=0; i< inp.length; i++){            inp[i].checked = this.checked;        }    }    // 2、下面的复选框要全部选中,上面的全选按钮才能够全部选中,给下面的所有复选框绑定事件,每次点击,都要循环查看下面下面所有的复选框是否有没选中的,如果有没选中的复选框,那么上面的全选按钮就不选中。    for(var i = 0; i<inp.length; i++){        inp[i].onclick = function(){        // 设置一个变量来控制按钮是否全部选中        var flag = true;        // 每次点击下面的复选框都要检查下面的四个小按钮是否被全部选中。        for(var i =0; i<inp.length; i++){            if(!inp[i].checked){                flag = false;                }            }        cekall.checked = flag;        }    }</script></body></html>

实现效果:

点击全选按钮

JS如何实现表单全选以及取消全选功能

JS如何实现表单全选以及取消全选功能

以上是“JS如何实现表单全选以及取消全选功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯