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