日期:2014-05-16  浏览次数:20373 次

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,把这个代码考进去,是可以获取到的。。。所以可能是你别的地方哪出问题了
引用:
引用:

你的写法是没有问题的,就是不知道ID获取的正确吗?
HTML code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javasc……

------解决方案--------------------
引用:
你的写法是没有问题的,就是不知道ID获取的正确吗?
HTML code

<!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(……


事情已经清楚了, 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"));
            });
        });