$(function () {
        $('#checkedAll').click(function () {
            $("input[name='chkall']").attr("checked", $(this).attr("checked")); //注意此处
        });
    });这段代码在jquery-1.4.1.min.js 运行正常,但在jquery-1.7.1.min.js 不正常,请哪位看看..........

解决方案 »

  1.   


    <!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>
    这样ok
      

  2.   

    <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>至于楼主的代码为什么不行,是因为你通过attr("checked")取出来的值并不是true/false,而是undefind/true,在jQuery1.6中加入了一个prop函数,他的用法和attr一样,但是对于checked等的取值,取出来的是true/false。这里其实楼主可以直接用this.value一样的
      

  3.   

    错了不是this.value是this.checked。失误
      

  4.   

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

  5.   

    jquery在1.6之后, 有了 attr 和prop 的区别, 你自己搜索一下吧