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

checkbox 全选全不选问题

  $(function () {
  $('#checkedAll').click(function () {
  $("input[name='chkall']").attr("checked", $(this).attr("checked")); //注意此处
  });
  });

这段代码在jquery-1.4.1.min.js 运行正常,但在jquery-1.7.1.min.js 不正常,请哪位看看..........

------解决方案--------------------
HTML code

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="gb2312" />
        <title></title>    
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
        
        </style>
    </head>
    <body>
        全选<input type="checkbox" id="checkedAll" />
        <br/>
        <input type="checkbox" name="chkall" />
        <input type="checkbox" name="chkall" />
        <input type="checkbox" name="chkall" />
        <input type="checkbox" name="chkall" />
        <input type="checkbox" name="chkall" />
        <script>
            $(function() {
                $('#checkedAll').click(function () {
                    var $tmp = $("input[name='chkall']");
                    if( $(this).attr("checked") ){
                        $tmp.attr("checked", 'checked');
                    }else{
                        $tmp.removeAttr("checked");
                    }
                });
            });
        </script>
    </body>
</html>

------解决方案--------------------
JScript code


<script language="javascript" src="../../../jquery-1.7.2.min.js"></script>
<script language="javascript" type="text/javascript">

    $(document).ready(function(){
        $("#CheckedAll").click(function(){
            //实现全选反选
            $("input[name=items]").attr( "checked",this.checked );
        });
        //实现由子选项控制全选反选
        $("input[name=items]").click(function(){
            $("input[name=items]:checked").length==$("input[name=items]").length ? 
                $("#CheckedAll").attr( "checked",true ) : $("#CheckedAll").attr( "checked",false );
        })
    })

</script>
</head>
<body>

<form method="post" action="">
   你爱好的运动是?<input type="checkbox" id="CheckedAll" />全选/全不选<br/>
    <input type="checkbox" name="items" value="足球"/>足球
    <input type="checkbox" name="items" value="篮球"/>篮球
    <input type="checkbox" name="items" value="羽毛球"/>羽毛球
    <input type="checkbox" name="items" value="乒乓球"/>乒乓球<br/>
    <input type="button" id="send" value="提 交"/> 
</form>

</body>
</html>

------解决方案--------------------
错了不是this.value是this.checked。。。。失误
------解决方案--------------------
$(function () {
$('#checkedAll').click(function () {
$("input[name='chkall']").attr("checked", $(this).is(":checked")); //注意此处
});
});
------解决方案--------------------
jquery在1.6之后, 有了 attr 和prop 的区别, 你自己搜索一下吧