jquery全選全不選詳解

一、jquery實現全選

在實際項目中,有時候需要對多個input checkbox進行全選或全不選操作,這時候可以使用jquery來方便地實現。

<script>
    // 給全選的checkbox添加點擊事件
    $('#selectAll').on('click', function() {
        $('input[type="checkbox"]').prop('checked', true);
    });
</script>

上述代碼中,我們給一個名為”selectAll”的checkbox添加了點擊事件,當這個checkbox被點擊後,所有type為checkbox的input都會被選中。

但是,如果已經有部分checkbox被選中,我們再點擊全選,則會取消選中狀態,這並不是我們想要的效果。

下面我們對代碼進行修改,先判斷全選checkbox是否被選中(prop(‘checked’)返回一個布爾值),如果已選中則將所有複選框設為選中狀態,否則將所有複選框設為不選中狀態。

<script>
    $('#selectAll').on('click', function() {
        $('input[type="checkbox"]').prop('checked', $(this).prop('checked'));
    });
</script>

二、jquery 全選

以上代碼可以實現全選功能,但是在實際應用中還有一種情況:每個選項後面都有對應的數量,選中後需要計算總數量,在全選的基礎上,還需要計算總數量。

<script>
    $('#selectAll').on('click', function() {
        var total = 0;
        $('input[type="checkbox"]').each(function() {
            if($(this).prop('checked')) {
                total += parseInt($(this).next().text());
            }
            $(this).prop('checked', true);
        });
        $('#total').text(total);
    });
</script>

以上代碼中,我們定義了一個變量total,用於累加選中的數量。每個複選框被選中後,我們獲取它的下一個元素,即數量,將其轉為整數並累加到total中。

最後,我們設置總數量的文本為total。這樣就可以實現全選並計算數量的功能。

三、jquery實現複選框全選選取

在實際項目中,往往還需要對多個複選框進行全選選取操作,這時候我們需要使用jquery的each函數遍歷每個checkbox,用一個計數器記錄選中的個數,如果遍歷完所有checkbox後計數器等於複選框的個數,則表示所有複選框都被選中,此時我們將全選checkbox設為選中狀態即可。

<script>
    $('input[type="checkbox"]').on('click', function() {
        var count = 0;
        $('input[type="checkbox"]').each(function() {
            if($(this).prop('checked')) {
                count++;
            }
        });
        if(count == $('input[type="checkbox"]').length) {
            $('#selectAll').prop('checked', true);
        } else {
            $('#selectAll').prop('checked', false);
        }
    });
</script>

以上代碼中,我們給每個複選框添加了點擊事件。在事件處理函數中,我們先遍歷每個複選框,如果被選中則計數器加1。如果計數器等於複選框的總個數,則表示所有複選框都被選中,此時將全選checkbox設為選中狀態,否則設為不選中狀態。

至此,我們就實現了複選框的全選選取功能。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/257493.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:45
下一篇 2024-12-15 12:45

相關推薦

  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • tavjq – jQuery的輕量級替代品

    本文將對tavjq進行詳細的闡述,介紹其基本語法和主要優點。tavjq是一個輕量級的jQuery替代品,它的主要目的是提供一種更快速、更精簡的JavaScript選擇器和DOM操作…

    編程 2025-04-28
  • Linux sync詳解

    一、sync概述 sync是Linux中一個非常重要的命令,它可以將文件系統緩存中的內容,強制寫入磁盤中。在執行sync之前,所有的文件系統更新將不會立即寫入磁盤,而是先緩存在內存…

    編程 2025-04-25
  • 神經網絡代碼詳解

    神經網絡作為一種人工智能技術,被廣泛應用於語音識別、圖像識別、自然語言處理等領域。而神經網絡的模型編寫,離不開代碼。本文將從多個方面詳細闡述神經網絡模型編寫的代碼技術。 一、神經網…

    編程 2025-04-25
  • nginx與apache應用開發詳解

    一、概述 nginx和apache都是常見的web服務器。nginx是一個高性能的反向代理web服務器,將負載均衡和緩存集成在了一起,可以動靜分離。apache是一個可擴展的web…

    編程 2025-04-25
  • Linux修改文件名命令詳解

    在Linux系統中,修改文件名是一個很常見的操作。Linux提供了多種方式來修改文件名,這篇文章將介紹Linux修改文件名的詳細操作。 一、mv命令 mv命令是Linux下的常用命…

    編程 2025-04-25
  • 詳解eclipse設置

    一、安裝與基礎設置 1、下載eclipse並進行安裝。 2、打開eclipse,選擇對應的工作空間路徑。 File -> Switch Workspace -> [選擇…

    編程 2025-04-25
  • Python安裝OS庫詳解

    一、OS簡介 OS庫是Python標準庫的一部分,它提供了跨平台的操作系統功能,使得Python可以進行文件操作、進程管理、環境變量讀取等系統級操作。 OS庫中包含了大量的文件和目…

    編程 2025-04-25
  • Python輸入輸出詳解

    一、文件讀寫 Python中文件的讀寫操作是必不可少的基本技能之一。讀寫文件分別使用open()函數中的’r’和’w’參數,讀取文件…

    編程 2025-04-25
  • git config user.name的詳解

    一、為什麼要使用git config user.name? git是一個非常流行的分佈式版本控制系統,很多程序員都會用到它。在使用git commit提交代碼時,需要記錄commi…

    編程 2025-04-25

發表回復

登錄後才能評論