jquery 實(shí)現(xiàn)復(fù)選框的全選操作實(shí)例代碼
jquery 實(shí)現(xiàn)復(fù)選框的全選操作實(shí)例代碼
最近做了個(gè)需求,需要實(shí)現(xiàn)列表復(fù)選框的全選/取消全選操作,由于之前對(duì)這塊不是很了解,所以從網(wǎng)上查了一些資料,雖然有各種實(shí)現(xiàn)方法,但沒找到直接可以套用的。自己琢磨了下,把功能實(shí)現(xiàn),整理如下。
實(shí)現(xiàn)細(xì)節(jié)如有可改進(jìn)的地方,不吝賜教。
首先是html部分的代碼,這里有一個(gè)表格,表格里面有一些選項(xiàng):
<div id="list">
<table>
<tr><td>選項(xiàng)1<input type="checkbox" name="group" value="1"/></tr>
<tr><td>選項(xiàng)2<input type="checkbox" name="group" value="2"/></tr>
<tr><td>選項(xiàng)3<input type="checkbox" name="group" value="3"/></tr>
</table>
</div>
全選<input type="checkbox" id="all"/>
接下來是jquery:
<script>
$(document).ready(function () {
//全選或全不選
$("#all").click(function () {
if (this.checked) {
$("#list :checkbox").attr("checked", true);
} else {
$("#list :checkbox").attr("checked", false);
}
});
//設(shè)置全選復(fù)選框
$("#list :checkbox").click(function () {
allchk();
});
function allchk() {
var chknum = $("#list :checkbox").size();//選項(xiàng)總個(gè)數(shù)
var chk = 0;
$("#list :checkbox").each(function () {
if ($(this).attr("checked")) {
chk++;
}
});
if (chknum == chk) {//全選
$("#all").attr("checked", true);
} else {//不全選
$("#all").attr("checked", false);
}
}
//顯示時(shí)執(zhí)行一次
allchk();
});
</script>
當(dāng)全選框被點(diǎn)擊時(shí),判斷選中狀態(tài),如果是選中,則為所有選項(xiàng)的復(fù)選框設(shè)置選中屬性;如果是取消選中,則為所有選項(xiàng)的復(fù)選框取消選中屬性。
同時(shí),為每個(gè)選項(xiàng)復(fù)選框添加判斷,當(dāng)所有的選項(xiàng)復(fù)選框都選中時(shí),全選框自動(dòng)選中;否則,全選框取消選中。這里通過計(jì)數(shù)來比較(選項(xiàng)的數(shù)量和選中的選項(xiàng)數(shù)量),通過each方法來進(jìn)行遍歷。
最后,在顯示時(shí)執(zhí)行一次,這是確保如果初始狀態(tài)就是所有選項(xiàng)都選中的狀態(tài),要保證全選框也是選中的狀態(tài)。
參考:jquery中checkbox使用方法簡(jiǎn)單實(shí)例演示
- JQuery實(shí)現(xiàn)列表中復(fù)選框全選反選功能封裝(推薦)
- jQuery對(duì)checkbox 復(fù)選框的全選全不選反選的操作
- js與jQuery實(shí)現(xiàn)checkbox復(fù)選框全選/全不選的方法
- 基于jquery實(shí)現(xiàn)復(fù)選框全選,反選,全不選等功能
- jQuery實(shí)現(xiàn)按鈕的點(diǎn)擊 全選/反選 單選框/復(fù)選框 文本框 表單驗(yàn)證
- 基于jQuery實(shí)現(xiàn)復(fù)選框的全選 全不選 反選功能
- jQuery實(shí)現(xiàn)復(fù)選框全選/取消全選/反選及獲得選擇的值
- jQuery判斷checkbox(復(fù)選框)是否被選中以及全選、反選實(shí)現(xiàn)代碼
- jquery復(fù)選框全選/取消示例
- 方便實(shí)用的jQuery checkbox復(fù)選框全選功能簡(jiǎn)單實(shí)例
- jquery復(fù)選框CHECKBOX全選、反選
- JQUERY復(fù)選框CHECKBOX全選,取消全選
相關(guān)文章
jQuery css() 方法動(dòng)態(tài)修改CSS屬性
在jquery中我們要?jiǎng)討B(tài)的修改css屬性我們只要使用css()方法就可以實(shí)現(xiàn)了,下面我來給各位同學(xué)詳細(xì)介紹介紹。2016-09-09
jQuery的Each比JS原生for循環(huán)性能慢很多的原因
這篇文章主要介紹了jQuery的Each比JS原生for循環(huán)性能慢很多的原因的相關(guān)資料,需要的朋友可以參考下2016-07-07
利用javascript/jquery對(duì)上傳文件格式過濾的方法
jquery中對(duì)上傳文件格式過濾的方法,需要的朋友參考下。2009-07-07
jQuery實(shí)現(xiàn)的淡入淡出與滑入滑出效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)的淡入淡出與滑入滑出效果,結(jié)合實(shí)例形式分析了jQuery中fadeIn、fadeOut、slideDown及slideUp方法相關(guān)使用技巧,需要的朋友可以參考下2018-04-04
jquery層級(jí)選擇器的實(shí)現(xiàn)(匹配后代元素div)
下面小編就為大家?guī)硪黄猨query層級(jí)選擇器的實(shí)現(xiàn)(匹配后代元素div)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
jQuery實(shí)現(xiàn)form表單元素序列化為json對(duì)象的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)form表單元素序列化為json對(duì)象的方法,涉及jQuery基于serializeArray方法實(shí)現(xiàn)表單序列化的相關(guān)技巧,需要的朋友可以參考下2015-12-12

