Jquery 獲取checkbox的checked問(wèn)題
注意: 操作checkbox的checked,disabled屬性時(shí)jquery1.6以前版本用attr, 1.6以上(包含)建議用prop
1、根據(jù)id獲取checkbox
$("#Checkbox1");
2、獲取所有的checkbox
$("input[type='checkbox']");//或者$(":checkbox");
3、獲取所有選中的checkbox
$("input:checkbox:checked");
//或$("input[type='checkbox']:checked");
//或$("input:[type='checkbox']:checked");
4、獲取checkbox值
用.val()獲取
$("#Checkbox").val();
5、獲取多個(gè)選中的checkbox值
var vals = []; $('input:checkbox:checked').each(function (index, item) { vals.push($(this).val()); });
6、判斷checkbox是否選中(jquery 1.6以前版本 用 $(this).attr("checked")
用prop查:選中時(shí)checked值為true,未選中時(shí)checked值為false
$("#cbCheckbox1").click(function () { if ($(this).prop("checked")) { alert("選中"); } else { alert("沒(méi)有選中"); } });
用attr查:選中checked值為checked,未選中時(shí)checked值為undefined
7、設(shè)置checkbox為選中狀態(tài)
$('input:checkbox').attr("checked", 'checked');
或
$('input:checkbox').prop("checked", true);
8、設(shè)置checkbox為不選中狀態(tài)
$('input:checkbox').prop("checked", false);//或$('input:checkbox').attr("checked", '');
9、設(shè)置checkbox為禁用狀態(tài)(jquery<1.6用attr,jquery>=1.6建議用prop)
$("input[type='checkbox']").attr("disabled", "disabled"); //或$("input[type='checkbox']").attr("disabled", true); //或$("input[type='checkbox']").prop("disabled", true); //或$("input[type='checkbox']").prop("disabled", "disabled");
10、設(shè)置checkbox為啟用狀態(tài)(jquery<1.6用attr,jquery>=1.6建議用prop)
$("input[type='checkbox']").removeAttr("disabled"); //或$("input[type='checkbox']").attr("disabled", false); //或$("input[type='checkbox']").prop("disabled", "");
下面是其他網(wǎng)友的補(bǔ)充
事實(shí)證明一切,自己測(cè)試了N遍,發(fā)現(xiàn)網(wǎng)上的說(shuō)法和自己以前的理解都是錯(cuò)的,不知道大家有沒(méi)發(fā)現(xiàn).
下面來(lái)看看網(wǎng)上大多資料的說(shuō)法
轉(zhuǎn)別人的一些東西:
jquery判斷checkbox是否被選中
在html的checkbox里,選中的話(huà)會(huì)有屬性checked="checked"。
如果用一個(gè)checkbox被選中,alert這個(gè)checkbox的屬性"checked"的值alert($(#xxx).attr("checked")),會(huì)打印出"true",而不是"checked"!
如果沒(méi)被選中,打印出的是"undefined"。
注意紅色的部分,這里說(shuō)到
$("#chekbox").sttr("checked")//should be print "true" , not "checked"
經(jīng)過(guò)測(cè)試,證明上面說(shuō)法有問(wèn)題
<script type="text/javascript"> $(function() { $("#button").click(function() { alert($("#checkbox").attr("checked")); }); }); </script> <input type="checkbox" name="checkbox" id="checkbox"> <input type="button" id="button" value="Click Me">
//上面得出的結(jié)果是: 如果勾上checkbox,會(huì)打印出 “checked” , 如果取消打勾 會(huì)打印出 "undefined"
實(shí)驗(yàn)證明Jquery獲取checked的值得打印出"true"是錯(cuò)誤的
舉一反三:
而且發(fā)現(xiàn)Jquery獲取已經(jīng)被勾上的checkbox,永遠(yuǎn)都是"checked" 這讓人費(fèi)解,如果有人知道為什么,可以告訴我一下,哈~~
<script type="text/javascript"> $(function() { $("#button").click(function() { alert($("#checkbox").attr("checked")); }); }); </script> <input type="checkbox" name="checkbox" id="checkbox" checked> <input type="button" id="button" value="Click Me">
//注意紅色位置,如果默認(rèn)checkbox為checked狀態(tài),測(cè)試會(huì)發(fā)現(xiàn),把勾去掉也是只會(huì)輸出"checked" , 表示不理解為什么 Jquery會(huì)這樣
解決方法,還是用document.get獲取吧:
<script> function getcheckbox(){ var test = document.getElementById("checkbox").checked; alert(test); } </script> <input type="checkbox" name="checkbox" id="checkbox"> <input type="button" id="button" value="Click Me" onclick="getcheckbox()">
//選中為"true",取消選中為"false"
如果有錯(cuò),希望指正。網(wǎng)上搜索的問(wèn)題都是一個(gè)帖子轉(zhuǎn)N遍,自己測(cè)試證明一下
checkbox選中與取消選擇
1.html
<form> <input type="checkbox" name="items" value="足球" />足球 <input type="checkbox" name="items" value="籃球" />籃球 <input type="checkbox" name="items" value="羽毛球" />羽毛球 </form>
2.js
//全選中 $("input:checkbox").prop("checked","checked"); //取消選中 $("input:checkbox").removeAttr("checked");
注意:使用attr(),會(huì)發(fā)現(xiàn)代碼那里的checked="checked",但是頁(yè)面input上沒(méi)有顯示出來(lái)
- 淺談jquery設(shè)置和獲得checkbox選中的問(wèn)題
- 淺談jQuery中的checkbox問(wèn)題
- jquery checkbox無(wú)法用attr()二次勾選問(wèn)題的解決方法
- 淺析jquery與checkbox的checked屬性的問(wèn)題
- jquery checkbox 勾選的bug問(wèn)題解決方案與分析
- 解決jquery操作checkbox火狐下第二次無(wú)法勾選問(wèn)題
- jQuery1.9.1針對(duì)checkbox的調(diào)整方法(prop)
- JQuery觸發(fā)radio或checkbox的change事件
- jQuery判斷checkbox是否選中的3種方法
- jquery判斷checkbox(復(fù)選框)是否被選中的代碼
- jQuery checkbox選中問(wèn)題之prop與attr注意點(diǎn)分析
相關(guān)文章
Jquery AJAX 用于計(jì)算點(diǎn)擊率(統(tǒng)計(jì))
Jquery AJAX實(shí)現(xiàn)頁(yè)面的統(tǒng)計(jì)代碼,后臺(tái)用的是php,這篇文章主要是學(xué)習(xí)jquery下ajax的簡(jiǎn)單實(shí)現(xiàn)。2010-06-06基于JQuery的數(shù)字改變的動(dòng)畫(huà)效果--可用來(lái)做計(jì)數(shù)器
之前用javascript做個(gè)計(jì)數(shù)器,從網(wǎng)上搜了搜,找不到合適的,就想著用jquery自己做一個(gè)2010-08-08jQuery表格行上移下移和置頂?shù)膶?shí)現(xiàn)方法
這篇文章主要介紹了jQuery表格行上移下移和置頂?shù)膶?shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-10-10Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
1.2.0版本插件在1.0.0插件基礎(chǔ)上進(jìn)一步修改,版權(quán)信息僅保留致謝信息,刪除作者為了代碼整體提示美觀(guān)度,故將jQuery官方兩位數(shù)版本變更為三位數(shù)版本2011-07-07JQuery學(xué)習(xí)筆記 實(shí)現(xiàn)圖片翻轉(zhuǎn)效果和TAB標(biāo)簽切換效果
為了保證前臺(tái)頁(yè)面的整潔,我們習(xí)慣性地將CSS放入一個(gè)單獨(dú)的.CSS文件中以便調(diào)用,而JS也同樣可以放到單獨(dú)的JS文件中去,并且頁(yè)面上的事件如onclick,onmouseover也可以分離出來(lái),現(xiàn)在網(wǎng)上比較流行JQuery2008-11-11JQuery 確定css方框模型(盒模型Box Model)
做過(guò)前臺(tái)設(shè)置的都知道css存在兩種盒模型,W3C標(biāo)準(zhǔn)的方框模型和IE瀏覽器的方框模型。除IE以外的大多數(shù)瀏覽器只支持W3C方框模型。IE瀏覽器能夠根據(jù)頁(yè)面的呈現(xiàn)模式的定義而是用對(duì)性的方框模式。已用哪中呈現(xiàn)的模式取決于頁(yè)面上的DOCTYPE的聲明。2010-01-01使用jQuery不判斷瀏覽器高度解決iframe自適應(yīng)高度問(wèn)題
這篇文章主要介紹了使用jQuery不判斷瀏覽器高度解決iframe自適應(yīng)高度問(wèn)題,需要的朋友可以參考下2014-12-12jQuery實(shí)現(xiàn)contains方法不區(qū)分大小寫(xiě)的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)contains方法不區(qū)分大小寫(xiě)的方法,實(shí)例分析了針對(duì)contains方法的重寫(xiě)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02