jquery获取checkbox是否选中不是实时的?
貌似加载时是选中的话,即使后来取消用jq的选择器获取$('#checkbox').attr('checked')还是true
------解决方案--------------------用change触发
------解决方案--------------------你的写法是没有问题的,就是不知道ID获取的正确吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript">
$().ready(function() {
$('#except').click(function(){
if($("#except").attr("checked")==true){
alert("true");
}else{alert("false");}
});
});
</script>
</head>
<body>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>改变Input Value值</title>
<div>
<input type="checkbox" id="except"/>1</td>
</div>
</head>
</html>
</body>
</html>
------解决方案--------------------你新建一个html,把这个代码考进去,是可以获取到的。。。所以可能是你别的地方哪出问题了
------解决方案--------------------
事情已经清楚了, 6楼的写法, 在jquery 1.3.2 下是没有问题的; 在jquery 1.6.4 下是有问题的(总false)。
从dom元素的规定来说, 6楼的写法改进一下为好。
在vs2010等可以提示代码的编辑器里, 如果选中一般是 checked="checked" , 你要找人家的属性, 只能得到checked, 未选中, 无此属性, 得到的是 undefined; jquery 的高版本如此处理也说的过去。
最好是以 $("#chkId").is(":checked") 来判断
下面的代码 jquery 的各个版本都是能通过的。
<html>
<head>
<script src="ec/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#except').click(function () {
alert($("#except").is(":checked"));
});
});