本帖最后由 Kenticny 于 2014-03-16 17:28:20 编辑

解决方案 »

  1.   

    最好使用.prop()方法获取和设置 应该都可以的
    http://api.jquery.com/prop/
      

  2.   

    主要是因为checkbox的输入框,有个属性值和状态值的区别。而jquery中的prop和attr的关于取值是有这个差别的。prop会优先按照你的$("input[type=checkbox]")[i].checked这样的取值方式进行的。
    而attr的取值方法,是优先使用的getattribute方法的。
    具体的内容,你可以看下楼上给你的那个链接,里面有比较详细的说明。也可以参考一下我之前关于属性取值这方面的一个总结:http://www.zhangyunling.com/?p=28
    希望能对你有所帮助!
      

  3.   

    $("input[type=checkbox]").attr("checked", checked);  
    这个可以么?  
      

  4.   

    +1
    这个跟jquery的版本是有关系的
    attr在较低的Jquery版本中是不存在这个问题的,但是高版本中用attr就会出现这种现象
    所以建议用prop方法来替代attr方法
      

  5.   

     $("input[type=checkbox]").click(function() {
            $("input[type=checkbox]").prop("checked", $(this).prop("checked"));
        });
      

  6.   

    var checkboxObj = $("input[type='checkbox']");
    checkboxObj.click(function(){
    checkboxObj.attr("checked","checked");
    })