溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS如何實現表單全選以及取消全選功能

發布時間:2022-03-07 15:10:28 來源:億速云 閱讀:202 作者:小新 欄目:開發技術

小編給大家分享一下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如何實現表單全選以及取消全選功能”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女