当我选中\取消选中复选框和单选按钮时,浏览器不会设置属性选中。所以,当我尝试使用jquery取消选中复选框时:
$('#tab2 input').removeAttr('checked');
它不起作用。从我的javascript代码检查它的工作案例复选框。如何取消选中已由用户检查过的复选框?
答案 0 :(得分:5)
您正在设置属性,因此请使用jQuery 1.6
中的.prop()
。
$('#tab2 input').prop('checked',false);
或者如果只有一个input
,只需直接更改元素的属性即可。
$('#tab2 input')[0].checked = false;
发布或upgrade to jQuery 1.6.1
时jQuery 1.6.1
,您将能够返回使用.attr()
再次设置属性,但{{1}仍然是更好的方法。
从发行说明:
具体来说,1.6.1中的布尔属性(例如checked,selected,readonly和disabled)将被视为在1.6之前的jQuery版本中处理它们。这意味着代码如
.prop()
甚至:
$(“:checkbox”).attr(“checked”, true); $(“option”).attr(“selected”, true); $(“input”).attr(“readonly”, true); $(“input”).attr(“disabled”, true);
不需要在1.6.1中进行更改,以便按预期工作。
答案 1 :(得分:3)
$('#tab2 input').attr('checked',false);
答案 2 :(得分:2)
$('input[name=foo]').attr('checked', false);