所以很多朋友判斷 if($("#id").attr("checked")=="true") 這個是錯誤的,其實應該是 if($("#id").attr("checked")==true)
例子里面包括了一下幾個功能。
如果用一個checkbox被選中,alert這個checkbox的屬性"checked"的值alert($"#xxx".attr("checked")),會打印出"true"",而不是checked"!
如果沒被選中,打印出的是"undefined"。
不要嘗試去做這樣的判斷:if($"#xxx".attr("checked")=="true")或者if($"#xxx".attr("checked")=='checked')
應該是if($("#checkbox1").attr("checked")==true)
全選和全不選函數
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html xmlns="
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JQuery 判斷checkbox是否選中,checkbox全選,獲取checkbox選中值</title>
<script type="text/javascript" language="javascript" src="
<script type="text/javascript">
$(function(){
/*------------
全選/全不選
------------*/
$('#cboxchecked').click(function(){
//判斷apple是否被選中
var bischecked=$('#cboxchecked').is(':checked');
var fruit=$('input[name="fruit"]');
bischecked?fruit.attr('checked',true):fruit.attr('checked',false);
});
/*-------------
獲取選中值
-------------*/
$('#btn_submit').submit(function(){
$('input[name="fruit"]:checked').each(function(){
var sfruit=$(this).val();
alert(sfruit);
});
return false;
});
})
</script>
</head>
<body>
<form action="">
<input type="checkbox" id="cboxchecked" />
<label for="cboxchecked">全選/全不選</label>
<br />
<br />
<input type="checkbox" id="cboxapple" name="fruit" value="apple" />
<label for="apple">Apple</label>
<input type="checkbox" id="cboxorange" name="fruit" value="orange" />
<label for="orange">Orange</label>
<input type="checkbox" id="cboxbanana" name="fruit" value="banana" />
<label for="banana">Banana</label>
<input type="checkbox" id="cboxgrapes" name="fruit" value="grapes" />
<label for="grapes">Grapes</label>
<br />
<br />
<input type="submit" id="btn_submit" value="submit" />
</form>
</body>
</html>