基于 jQuery 實現復選框全選與選中項查詢功能

在 Web 開發中,復選框是常見的交互元素,尤其是在涉及批量操作、數據篩選等場景時,全選功能和選中項查詢功能顯得尤為重要。本文將介紹如何使用 HTML、CSS 和 jQuery 實現一個具備全選、反選以及選中項查詢功能的復選框組,幫助開發者高效處理用戶的選擇操作。

一、功能概述

本次實現的功能主要包括以下幾點:

  1. 全選與反選:通過標題欄的復選框,可以一鍵選中或取消選中內容區域的所有復選框。
  2. 聯動更新:當內容區域的復選框全部被選中時,標題欄的復選框自動勾選;若有任意一個取消選中,標題欄復選框則取消勾選。
  3. 選中項查詢:點擊 “點擊查詢被勾選的復選框” 按鈕,能夠獲取并展示當前被勾選的復選框數量和具體元素,方便后續數據處理。

效果圖:

二、HTML 結構搭建

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title></title><style>body{text-align: center;}</style><script src="js/jquery-3.7.1.min.js"></script>
</head>
<body><div class="content"><div class="titleContent"><input type="checkbox" class="titleCheck" />標題部分</div><div class="aboutContent"><div><input type="checkbox" class="contentCheck" />內容1</div><div><input type="checkbox" class="contentCheck" />內容2</div><div><input type="checkbox" class="contentCheck" />內容3</div><div><input type="checkbox" class="contentCheck" />內容4</div><div><input type="checkbox" class="contentCheck" />內容5</div><div><input type="checkbox" class="contentCheck" />內容6</div></div><button class="searchBtn">點擊查詢被勾選的復選框</button></div><script>// 具體實現代碼將在下文JavaScript部分詳細說明</script>
</body>
</html>

上述 HTML 代碼構建了基本的頁面結構:

  • 外層div(類名為content)作為整體容器。
  • titleContent類的div包含標題欄的復選框(類名titleCheck),用于控制全選和反選操作。
  • aboutContent類的div內包含多個子div,每個子div中都有一個內容復選框(類名contentCheck),代表具體的可選內容。
  • 最后是一個按鈕(類名searchBtn),用于觸發選中項查詢操作。

三、CSS 樣式設計

body{text-align: center;
}

本次示例的 CSS 樣式較為簡潔,僅通過text-align: center;將頁面內的元素居中顯示,保證整體布局的美觀性。實際開發中,可根據項目需求進一步細化復選框、按鈕等元素的樣式,如顏色、大小、邊框等。

四、jQuery 功能實現

$(document).on('change', '.titleCheck', function() {// 獲取全選 checkbox 的選中狀態let isChecked = $(this).prop('checked');// 只選擇當前頁面顯示的復選框進行操作$('.aboutContent .contentCheck').prop('checked', isChecked);// 更新全選按鈕的狀態let allChecked = $('.aboutContent .contentCheck').length === $('.aboutContent .contentCheck:checked').length;$('.titleCheck').prop('checked', allChecked);
});// 為單個復選框添加事件監聽器
$(document).on('change', '.contentCheck', function() {// 只檢查當前頁面顯示的復選框let allChecked = $('.aboutContent .contentCheck').length === $('.aboutContent .contentCheck:checked').length;$('.titleCheck').prop('checked', allChecked);
});$('.searchBtn').click(function() {// 獲取當前頁面所有被勾選的復選框let checkedCheckboxes = $('.aboutContent .contentCheck:checked');console.log(checkedCheckboxes);let checkedCount = checkedCheckboxes.length;console.log(checkedCount);
})

上述 jQuery 代碼實現了核心功能:

  1. 全選與反選邏輯:監聽.titleCheck復選框的change事件,當標題欄復選框狀態改變時,將內容區域所有.contentCheck復選框的狀態設置為相同;隨后檢查內容區域復選框是否全部被選中,若全部選中則勾選標題欄復選框,否則取消勾選。
  2. 聯動更新邏輯:監聽.contentCheck復選框的change事件,每次內容區域的復選框狀態改變時,檢查所有內容復選框是否都處于選中狀態,若全部選中則勾選標題欄復選框,否則取消勾選,實現兩者狀態的聯動。
  3. 選中項查詢邏輯:監聽.searchBtn按鈕的click事件,通過選擇器.aboutContent .contentCheck:checked獲取所有被勾選的內容復選框,將其打印到控制臺,同時獲取并打印被勾選的復選框數量,方便開發者進行后續的數據處理或展示。

五、配置與擴展

  1. 配置修改:若需要修改頁面結構中的類名,可直接在 HTML 和 JavaScript 代碼中修改.aboutContent(內容區域類名)、.titleCheck(標題欄復選框類名)、.contentCheck(內容復選框類名),確保兩者保持一致即可正常運行。
  2. 功能擴展:在獲取到選中的復選框后,開發者可以根據實際需求進行數據提交、頁面跳轉、高亮顯示等更多操作,如將選中項的數據發送到后端接口,或在頁面上展示選中項的具體信息。

通過以上 HTML、CSS 和 jQuery 代碼的結合,我們成功實現了一個功能實用的復選框全選與選中項查詢系統。該系統結構清晰、易于擴展,能夠滿足多種 Web 開發場景下的復選框操作需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/79743.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/79743.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/79743.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AfuseKt2.4.2 | 支持阿里云盤、Alist等平臺視頻播放,具備自動海報墻刮削功能的強大播放器

AfuseKt是一款功能強大的安卓端在線視頻播放器&#xff0c;支持播放阿里云盤、Alist、WebDAV等平臺的視頻內容。它具備自動海報墻刮削功能&#xff0c;能自動生成影片信息和海報墻&#xff0c;提供良好的視覺體驗。此外&#xff0c;它還支持倍速播放、字幕、音軌切換等多種實用…

Netlink在SONiC中的應用

Netlink在SONiC中的應用 Netlink介紹 Netlink 是 Linux 內核態程序與用戶空間程序之間進行通信的機制之一&#xff0c;原本是用于傳遞網絡協議棧中的各種控制消息。它采用和套接字&#xff08;socket&#xff09;編程接口相同的形式&#xff0c;常用于配置內核網絡子系統&…

語音合成之十一 提升TTS語音合成效果:低質量數據清洗、增強與數據擴增

低質量數據清洗、增強與數據擴增 1. 引言&#xff1a;TTS的基石——數據質量2. 基礎&#xff1a;TTS數據準備工作流2.1 規劃&#xff1a;定義藍圖2.2 執行&#xff1a;從原始數據到訓練就緒格式2.3 最佳實踐與可復現性 3. 攻克缺陷&#xff1a;低質量語音數據的清洗與增強3.2 手…

Java IO流分類與記憶方法

Java IO流分類與記憶方法 在Java IO流體系中,理解節點流和包裝流的區別是掌握IO編程的關鍵。 一、核心分類標準 1. 節點流(Node Stream) 直接對接數據源:直接連接物理IO設備(文件、網絡、內存等)基礎功能:提供最基礎的讀寫能力命名特征:通常包含數據源類型名稱(如Fi…

架構師如何構建個人IP:職業規劃與業務戰略的雙重提升

在數字化時代&#xff0c;軟件架構師的角色已從單純的技術專家轉變為兼具技術領導力和業務影響力的復合型人才。如何構建個人IP&#xff0c;提升行業影響力&#xff0c;成為架構師職業發展的關鍵課題。本文從個人認知、業務戰略、架構決策、產品思維四個維度&#xff0c;探討架…

vscode運行python的快捷鍵

以下是一些在 VS Code 中運行 Python 代碼的常用快捷鍵&#xff1a; 運行 Python 文件 Windows/Linux &#xff1a;Ctrl F5。此快捷鍵會直接運行當前打開的 Python 文件&#xff0c;不會自動進入調試模式。若之前有配置過終端&#xff0c;一般會使用配置好的終端來運行&…

使用OpenCV 和 Dlib 實現疲勞檢測

文章目錄 引言1.相關技術介紹2. 系統原理2.1 眼睛縱橫比(EAR)算法2.2 系統工作流程 3.代碼解析3.1 關鍵函數說明3.2 主循環邏輯 4.實際應用效果5.參數調優建議6.總結 引言 疲勞駕駛是交通事故的主要原因之一。本文將介紹如何使用Python和計算機視覺技術構建一個實時疲勞駕駛檢…

VBA實現后入先出(LIFO)庫存統計

先入先出&#xff08;FIFO&#xff09;比較容易理解&#xff0c;買入早的優先賣出。與之對應的是后人先出&#xff08;LIFO&#xff09;&#xff0c;就是優先賣出最近買入的&#xff0c;例如&#xff1a;第8行賣出2K&#xff0c;當天還沒有買入記錄&#xff0c;只能找前一天的買…

Python中的客戶端和服務端交互的基本內容

目錄 網絡協議 網絡的通信方式 需要安裝的組件和需要導入的包模塊 安裝的組件 導入包模塊 如何創建客戶端 如何創建服務端 網絡協議 IPV4&#xff1a;是互聯網協議的第四版&#xff0c;也是目前廣泛使用的網絡協議。它使用32位地址格式&#xff0c;理論上可以提供約43億…

【硬核攻堅】告別CUDA OOM!DeepSeek部署顯存瓶頸終極解決方案:三大策略高效落地

目錄 引言:大模型落地的“甜蜜”與“煩惱”DeepSeek剖析:為何它如此“吃”顯存?CUDA OOM的“幽靈”:現象、根因與診斷破局之道:三大策略馴服顯存“猛獸” 策略一:模型量化 - 給模型“瘦身”的藝術策略二:動態優化 - 榨干硬件潛能策略三:分布式擴展 - 集群的力量實戰演練…

JavaSE核心知識點01基礎語法01-01(關鍵字、標識符、變量)

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 JavaSE核心知識點01基礎語法01-01&#xff0…

【最新Python包管理工具UV的介紹和安裝】

介紹 uv是一個非常快的 Python 包安裝程序和 pip 解析器&#xff0c;用 Rust 編寫&#xff0c;設計為pip-tools的直接替代品。 以下是官網給出的UV與其他包管理工具解決依賴&#xff08;左&#xff09;和安裝包&#xff08;右&#xff09;的對比圖。 可以看出UV是一個極快的 P…

麒麟、UOS系統在線打開word文件并提取修訂痕跡

麒麟、UOS系統在線打開word文件并提取修訂痕跡 查看本示例演示效果&#xff08;Windows版&#xff09; 查看本示例演示效果&#xff08;國產版&#xff09;本示例關鍵代碼的編寫位置&#xff0c;請參考“開始 - 快速上手”里您所使用的開發語言框架的最簡集成代碼 注意 本文中…

【SpringAI+阿里云百煉】AI對話4個Demo

基于SpringAI和阿里云百煉平臺&#xff0c;實現了四個AI對話的小Demo 小團團對話機器人哄哄模擬器培訓班智能客服仿ChatPDF 筆記如下:語雀知識筆記《SpringAI》

【數據結構】單鏈表的增刪查改

本文是小編鞏固自身而作&#xff0c;如有錯誤&#xff0c;歡迎指出&#xff01; 1.鏈表的概念 概念&#xff1a;鏈表是?種物理存儲結構上?連續、?順序的存儲結構&#xff0c;數據元素的邏輯順序是通過鏈表中的 指針鏈接次序實現的。 和之前的順序表不同&#xff0c;順序一般…

LeetCode 1128.等價多米諾骨牌對的數量:計數

【LetMeFly】1128.等價多米諾骨牌對的數量&#xff1a;計數 力扣題目鏈接&#xff1a;https://leetcode.cn/problems/number-of-equivalent-domino-pairs/ 給你一組多米諾骨牌 dominoes 。 形式上&#xff0c;dominoes[i] [a, b] 與 dominoes[j] [c, d] 等價 當且僅當 (a …

以太坊智能合約開發框架:Hardhat v2 核心功能從入門到基礎教程

一、設置項目 Hardhat 項目是安裝了 hardhat 包并包含 hardhat.config.js 文件的 Node.js 項目。 操作步驟&#xff1a; ①初始化 npm npm init -y②安裝 Hardhat npm install --save-dev hardhat③創建 Hardhat 項目 npx hardhat init如果選擇 Create an empty hardhat.…

安卓基礎(無障礙點擊)

無障礙點擊核心代碼 // 自定義無障礙服務類&#xff0c;繼承自Android系統的AccessibilityService public class MyAccessibilityService extends AccessibilityService {// 當系統產生無障礙事件時的回調方法&#xff08;如界面變化、焦點切換等&#xff09;Overridepublic v…

阿里云服務遷移實戰: 05-OSS遷移

概述 Bucket 復制分為兩種&#xff0c;同區域復制和跨區域復制 同賬號復制比較簡單&#xff0c;根據提示填寫信息即可&#xff0c;本文主要介紹跨賬號復制。 同區域復制 授權角色選擇 “AliyunOSSRole”, 創建方法見 “跨區域復制”。然后點擊確定即可。 跨區域復制 假設我…

Qt 的信號與槽機制依賴元對象系統(Meta-Object System)實現

內部數據結構 在 Qt 中,信號和槽之間的連接主要通過 QObject 類及其相關的私有類進行管理。每個 QObject 實例都維護著一個指向其 QMetaObject 的指針,該對象包含了有關類的所有元信息,包括信號、槽等。此外,還有一個關鍵的數據結構用于存儲信號與槽之間的連接信息,即 Co…