JS实现表单全选以及取消全选实例

本文实例为大家分享了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>

实现效果:

点击全选按钮

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • javascript 全选/反选,取消选择效果

    其实这个效果不难做. 难做的是 如何让用户使用起来方便. 第一个checkbox实现了 全选 反选 最后个checkbox实现了 取消选择 这里只是做一个 JS实例罢了. 这段HTML并没有 实际的价值. javascript 全选/反选效果. 标题 时间 我们 2010-02-02 我们 2010-02-02 我们 2010-02-02 我们 2010-02-02     var $=function(id){return document.getElementById(id);}; var

  • 比较全的JS checkbox全选、取消全选、删除功能代码

    看下面两种实现方法: JS checkbox 方法一: 复制代码 代码如下: function checkAll() { var code_Values = document.all['code_Value']; if(code_Values.length){ for(var i=0;i<code_Values.length;i++) { code_Values[i].checked = true; } }else{ code_Values.checked = true; } } functio

  • js实现复选框的全选和取消全选效果

    在很多网站都有这样的功能,当点击一个全选按钮之后,所有的复选框都会被选中,再点击之后会取消全选,功能非常的人性化,可以省却很多人力,下面就简单介绍一下JS如何实现此功能,代码实例如下: 以下是代码: <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://hovertree.com/" /> <titl

  • CheckBox为CheckBoxList实现全选或全取消选择(js代码实现)

    某一个时候,CheckBoxList的选择太多,用户需要一个全选或全取消的功能.下面使用Javascript来实现它. 准备好一个对象: MusicType 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// Summary description for MusicType /// </summary> n

  • JS控件ASP.NET的treeview控件全选或者取消(示例代码)

    复制代码 代码如下: <script language="javascript">   /*   函数名称:CheckNode(currentNode).ParentNode(currentNode).ChildNode(currentNode) 函数功能:实现带checkbox的treeview中   1.选中父结点其子结点也全部选中   2.取消全部子结点的选择后,父结点的选择也随之取消 使用方法:1.在<head></head>中间添加Chec

  • JS小功能(checkbox实现全选和全取消)实例代码

    效果: 代码: 复制代码 代码如下: <head runat="server">    <title></title>    <script type="text/javascript">        window.onload = function () {            var ckall = document.getElementById('ck1');            var ck = docu

  • 基于JavaScript实现复选框的全选和取消全选

    本文实例为大家分享了js复选框的全选和取消全选的具体代码,供大家参考,具体内容如下 效果图: 测试代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> li{list-style: none;} </style> </head>

  • Javascript实现CheckBox的全选与取消全选的代码

    本文介绍的方法,触发条件独立,可以全选或取消全选指定 name 的 CheckBox , 同一页面可以有多组供全选的 CheckBox ,功能健全,通用性较强. 效果图:运行查看效果: function checkAll(name) { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i 字母全选开关 a b c d e f g 数字全选开关 1 2 3 [Ctrl+A 全选 注

  • js multiple全选与取消全选实现代码

    复制代码 代码如下: $("select").change(function(){    var n = $(this).children().length;    var obj;    var i = 1;       $(this).children().each(function(){     if(i == n)     {      alert($(this).text());     }     i++;    });   }); 综合以上二法,本人轻易得出了自己想要的效

  • javascript 全选与全取消功能的实现代码

    复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript" language="javascript"> function

随机推荐