ChaoBaby94
ChaoBaby94
2016-02-17 01:45
采纳率: 6.6%
浏览 1.3k

jQuery点击复选框问题

问题一:
网上和教学视频都说
$('input[name="items"]').attr("checked","");
是设置为没有被选中。但是我的点击后还是变成checked状态。
把教学视频的代码完全复制了下,只是导入的jquery版本不一样。结果他的可以,我的不可以。是jquery版本的问题吗?我的是jquery-2.1.4 视频的是jquery-1.3.1
问题二:
看的视频是练习全选/全不选的checkbox的操作,代码如下
$('#checkedAll_2').click(function(){
// checked属性判断有没被选中
if(this.checked){
// $('input[name="items"]:checkbox').attr("checked","true");
$('input[name="items"]').attr("checked","true");
$.each($('input[name="items"]'),function(){
alert($(this).val()+":"+this.checked);
});
} else{
$("input[name='items']").attr("checked","");

// $("input[name='items']").removeAttr("checked");
$.each($('input[name="items"]'),function(){
alert($(this).val()+":"+this.checked);
});
}
});
当已选中的状态再次点击变成未选中时(执行else语句),里面的$(this).val()的值就变成了undefined了。这是为什么?
问题三:还是上面的代码。(和问题一有关)
用$("input[name='items']").attr("checked",""); 不能改为不选,只有$("input[name='items']").removeAttr("checked"); 方法可以。这是为什么!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • showbo
    已采纳

    1.6+以上jquery 设置checked这种需要用prop,不要用attr,jquery attr prop 区别

    点赞 评论
  • sinat_31535993
    sinat_31535993 2016-02-17 01:59

    attr("checked",false);我都是这样写的

    点赞 评论

相关推荐