jquery實現全選效果的方法:1、建立一個HTML範例檔案;2、透過「$('input').click(function(){...}」方法判斷目前全選框是否選取即可。
本文操作環境:windows7系統、jquery3.2.1版、DELL G3電腦
jquery怎麼實現全選效果?
jQuery實作全選效果
#這是一段用jquery實作全選的程式碼,主要想法如下:
1.所有的複選框都有單擊事件,所有效果都是在單擊事件下實現的
2.全選複選框所實現的功能與其他復選選項實現的功能不同,所有在單擊事件內做一個判斷,是否是全選複選框的單擊事件
3.如果是,則執行判斷全選複選框是否選中,如果當前狀態為選中,那麼點擊後取消勾選,同時取消所有選項的勾選,如果全選目前未選中,點擊後勾選,並勾選所有
4.如果不是,說明點擊的物件是出全選外的其他選項,那麼就要判斷目前已經勾選的選項的數量,是否等於除了全選複選框以外所有選項的數量,如果相等,則說明,選項全部勾選,同時將全選複選框也勾選,否則不勾選。
下面是我的程式碼。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全选效果</title> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $('input').click(function(){ if($(this).index() == 0){ //判断当前全选框是否选中,如果选中则全选,否则全不选 if($('input').eq(0).prop('checked')){ $(this).nextAll().prop('checked',true); }else{ $(this).nextAll().prop('checked',false); } }else{ //判断除了全选之外的选项是否全部选中,选中则勾上全选,否则全不选 if($('input:gt(0):checked').length == $('input').length-1){ $('input').eq(0).prop('checked',true) }else{ $('input').eq(0).prop('checked',false) } } }) }) </script> </head> <body> <input type="checkbox" />全选 <input type="checkbox" />语文 <input type="checkbox" />数学 <input type="checkbox" />英语 </body> </html>
實現全選效果的想法也比較多,這種想法相對與分開兩個點擊事件的想法來說,稍微有點難理解,但其實實現效果的程式碼,是一樣的。
#推薦學習:《jquery影片教學》
以上是jquery怎麼達到全選效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!