Jquery 實(shí)現(xiàn)checkbox全選方法
昨天早上有寫到怎么利用Jquery實(shí)現(xiàn)全選
根據(jù)大家的意見對(duì)程序中一些寫法不好的地方進(jìn)行了修改,也是本人水平有限,存在各種考慮不到的地方。
文章最后我提出了一個(gè)問題,要寫一個(gè)通用的方法來調(diào)用,于是就有了現(xiàn)在的這篇文章,晚上回到家,我就寫出了效果
下面的例子可以供大家討論學(xué)習(xí),如果覺得不錯(cuò)也可以直接應(yīng)用到項(xiàng)目中。
1:為什么要寫這個(gè)方法
網(wǎng)上實(shí)現(xiàn)一句話全選全不選的有很多,但是好像都忽略了一個(gè)問題,全選的checkbox可以控制下面的子checkbox,但是下面的子checkbox應(yīng)該也可以控制上面的全選,這樣就有了我的這個(gè)方法。
2:開發(fā)過程:要實(shí)現(xiàn)通用就要解決2個(gè)問題,怎么分組,怎么判斷組里面哪個(gè)checkbox為全選,我想了想,覺得用name分組可以,
用class來判斷是否是需要全選的checkbox組。先找到所有class為需要全選的,再找出name屬性,根據(jù)name屬性就可以找到其他的子checkbox,只要找到元素就可以進(jìn)行操作了
3:文件,下面是我實(shí)現(xiàn)的js,保存為xs_checkbox_all.js
$(document).ready(function () {
var xsChk = "xsChk";//定義的樣式
var xsChkAll = "input[type='checkbox'][class='" + xsChk + "'][name]";//所有定義此樣式的checkbox
$(xsChkAll).each(function () {
var name = $(this).attr("name");
name = "input[type='checkbox'][class!='" + xsChk + "'][name='" + name + "']";//此全選框下面的子checkbox
$(this).click(function () {
$(name).attr("checked", $(this)[0].checked);
})
var xschk = $(this);
$(name).click(function () {
var IAll = $(name).length; //此子項(xiàng)目下所有checkbox的個(gè)數(shù)
var IChk = $(name + ":checked").length; //此子項(xiàng)目下所有勾選checkbox的個(gè)數(shù)
var isAllChecked = true; //是否是全選
if (IAll != IChk) {
isAllChecked = false;
}
$(xschk).attr("checked", isAllChecked);
});
});
});
頁(yè)面使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <html xmlns=" <head>
<title></title>
</head>
<body>
<script src=" </script>
<script src="xs_checkbox_all.js" type="text/javascript"></script>
<fieldset>
<legend>全選one</legend>
<input type="checkbox" class="xsChk" name="chk" />
全選
<div>
<input type="checkbox" name="chk" />
1<br />
<input type="checkbox" name="chk" />
2<br />
<input type="checkbox" name="chk" />
3<br />
<input type="checkbox" name="chk" />
4<br />
</div>
</fieldset>
<fieldset>
<legend>全選two</legend>
<input type="checkbox" class="xsChk" name="chk1" />
全選2
<div>
<input type="checkbox" name="chk1" />
11<br />
<input type="checkbox" name="chk1" />
22<br />
<input type="checkbox" name="chk1" />
33<br />
<input type="checkbox" name="chk1" />
44<br />
</div>
</fieldset>
</body>
</html>
可以達(dá)到效果,如果有什么優(yōu)化的地方,請(qǐng)大家提出,我會(huì)做的更好,謝謝大家了,以上就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
- jQuery實(shí)現(xiàn)CheckBox全選、全不選功能
- jQuery Checkbox 全選 反選的簡(jiǎn)單實(shí)例
- jQuery實(shí)現(xiàn)checkbox列表的全選、反選功能
- 基于jQuery的checkbox全選問題分析
- jQuery對(duì)checkbox 復(fù)選框的全選全不選反選的操作
- jQuery實(shí)現(xiàn)checkbox全選的方法
- JQuery選中checkbox方法代碼實(shí)例(全選、反選、全不選)
- jquery中checkbox全選失效的解決方法
- jquery操作checkbox實(shí)現(xiàn)全選和取消全選
- jquery、js操作checkbox全選反選
- jq checkbox 的全選并ajax傳參的實(shí)例
相關(guān)文章
打造個(gè)性化的功能強(qiáng)大的Jquery虛擬鍵盤(VirtualKeyboard)
本文主要講訴了如何一起一步一步打造個(gè)性化的VirtualKeyboard:功能強(qiáng)大的Jquery虛擬鍵盤,非常的詳細(xì),非常實(shí)用,有需要的朋友可以參考下2014-10-10
JQuery動(dòng)畫和停止動(dòng)畫實(shí)例代碼
實(shí)例中涉及到使用動(dòng)畫方法animate,動(dòng)畫停止方法Stop,其他詳情在示例代碼中都有注釋。2013-03-03
jQuery實(shí)現(xiàn)base64前臺(tái)加密解密功能詳解
這篇文章主要介紹了jQuery實(shí)現(xiàn)base64前臺(tái)加密解密功能,結(jié)合實(shí)例形式分析了jquery.base64.js實(shí)現(xiàn)前臺(tái)base64加密與解密功能的實(shí)現(xiàn)方法,并給出了java實(shí)現(xiàn)后臺(tái)base64加密解密的操作示例對(duì)比驗(yàn)證加密效果,需要的朋友可以參考下2017-08-08
jQuery實(shí)現(xiàn)ctrl+enter(回車)提交表單
本文章來給大家介紹在我們輸入完內(nèi)容之后直接按Ctrl+Enter提交表單實(shí)現(xiàn)程序,此方法一般是用于textarea中哦,其它的input這類的就不需了。2015-10-10
jquery實(shí)現(xiàn)標(biāo)簽支持圖文排列帶上下箭頭按鈕的選項(xiàng)卡
這篇文章主要介紹了jquery實(shí)現(xiàn)標(biāo)簽支持圖文排列帶上下箭頭按鈕的選項(xiàng)卡的特效,效果十分不錯(cuò),而且非常實(shí)用,有需要的小伙伴參考下吧。2015-03-03
jQuery實(shí)現(xiàn)查找最近父節(jié)點(diǎn)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)查找最近父節(jié)點(diǎn)的方法,涉及jQuery針對(duì)元素節(jié)點(diǎn)操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
圣誕節(jié)Merry Christmas給博客添加浪漫的下雪效果基于jquery實(shí)現(xiàn)
一年一度的圣誕節(jié)又到了,首先祝大家好運(yùn)一串串,健康一年年,平安到永遠(yuǎn)!今天就教大家如何在博客中添加紛紛揚(yáng)揚(yáng)的下雪效果。今天,你那里下雪了嗎2012-12-12

