欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jquery 獲取checkbox的checked問(wèn)題

 更新時(shí)間:2011年11月16日 17:14:34   投稿:mdxy-dxy  
這個(gè)郁悶了,今天寫(xiě)這個(gè)功能的時(shí)候發(fā)現(xiàn)了問(wèn)題,上網(wǎng)找了好多資料對(duì)照,更加糾結(jié)

注意: 操作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)

相關(guān)文章

最新評(píng)論