Jquery 獲取checkbox的checked問題
注意: 操作checkbox的checked,disabled屬性時jquery1.6以前版本用attr, 1.6以上(包含)建議用prop
1、根據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、設置checkbox為選中狀態(tài)
$('input:checkbox').attr("checked", 'checked');
或
$('input:checkbox').prop("checked", true);
8、設置checkbox為不選中狀態(tài)
$('input:checkbox').prop("checked", false);//或$('input:checkbox').attr("checked", '');
9、設置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、設置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", "");
下面是其他網友的補充
事實證明一切,自己測試了N遍,發(fā)現網上的說法和自己以前的理解都是錯的,不知道大家有沒發(fā)現.
下面來看看網上大多資料的說法
轉別人的一些東西:
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"
經過測試,證明上面說法有問題
<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">
//上面得出的結果是: 如果勾上checkbox,會打印出 “checked” , 如果取消打勾 會打印出 "undefined"
實驗證明Jquery獲取checked的值得打印出"true"是錯誤的
舉一反三:
而且發(fā)現Jquery獲取已經被勾上的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ā)現,把勾去掉也是只會輸出"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"
如果有錯,希望指正。網上搜索的問題都是一個帖子轉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ā)現代碼那里的checked="checked",但是頁面input上沒有顯示出來
- 淺談jquery設置和獲得checkbox選中的問題
- 淺談jQuery中的checkbox問題
- jquery checkbox無法用attr()二次勾選問題的解決方法
- 淺析jquery與checkbox的checked屬性的問題
- jquery checkbox 勾選的bug問題解決方案與分析
- 解決jquery操作checkbox火狐下第二次無法勾選問題
- jQuery1.9.1針對checkbox的調整方法(prop)
- JQuery觸發(fā)radio或checkbox的change事件
- jQuery判斷checkbox是否選中的3種方法
- jquery判斷checkbox(復選框)是否被選中的代碼
- jQuery checkbox選中問題之prop與attr注意點分析
相關文章
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
1.2.0版本插件在1.0.0插件基礎上進一步修改,版權信息僅保留致謝信息,刪除作者為了代碼整體提示美觀度,故將jQuery官方兩位數版本變更為三位數版本2011-07-07
JQuery 確定css方框模型(盒模型Box Model)
做過前臺設置的都知道css存在兩種盒模型,W3C標準的方框模型和IE瀏覽器的方框模型。除IE以外的大多數瀏覽器只支持W3C方框模型。IE瀏覽器能夠根據頁面的呈現模式的定義而是用對性的方框模式。已用哪中呈現的模式取決于頁面上的DOCTYPE的聲明。2010-01-01
使用jQuery不判斷瀏覽器高度解決iframe自適應高度問題
這篇文章主要介紹了使用jQuery不判斷瀏覽器高度解決iframe自適應高度問題,需要的朋友可以參考下2014-12-12
jQuery實現contains方法不區(qū)分大小寫的方法
這篇文章主要介紹了jQuery實現contains方法不區(qū)分大小寫的方法,實例分析了針對contains方法的重寫技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02

