如何使用jQuery或纯JS重置所有复选框?

str*_*ade 79 javascript checkbox jquery

如何使用jQuery或纯JS重置文档中的所有复选框?

Tat*_*nen 139

如果您的意思是如何从所有复选框中删除"已检查"状态:

$('input:checkbox').removeAttr('checked');
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在jQuery v1.6及更高版本中,您应该使用.prop('checked',false)来代替更大的跨浏览器兼容性 - 请参阅http://api.jquery.com/prop/ (35认同)

小智 41

如果您想使用表单的重置功能,最好使用它:

$('input[type=checkbox]').prop('checked',true); 
Run Code Online (Sandbox Code Playgroud)

要么

$('input[type=checkbox]').prop('checked',false);
Run Code Online (Sandbox Code Playgroud)

看起来removeAttr()无法重置form.reset().


Sun*_*eep 13

以上答案对我不起作用 -

以下工作

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 
Run Code Online (Sandbox Code Playgroud)

这样可以确保取消选中所有复选框.


小智 9

在某些情况下,默认情况下可以选中该复选框.如果要恢复默认选择而不是设置为未选中,请比较该defaultChecked属性.

$(':checkbox').each(function(i,item){ 
        this.checked = item.defaultChecked; 
}); 
Run Code Online (Sandbox Code Playgroud)


jef*_*jef 9

我以前用过这个:

$('input[type=checkbox]').prop('checked', false);
Run Code Online (Sandbox Code Playgroud)

似乎.attr和.removeAttr在某些情况下不起作用.

编辑:请注意,在jQuery v1.6及更高版本中,您应该使用.prop('checked',false)代替更大的跨浏览器兼容性 - 请参阅api.jquery.com/prop

在这里评论:如何使用jQuery或纯JS重置所有复选框?


ken*_*orb 9

Javascript

var clist = document.getElementsByTagName("input");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = false; }
Run Code Online (Sandbox Code Playgroud)

jQuery

$('input:checkbox').each(function() { this.checked = false; });
Run Code Online (Sandbox Code Playgroud)

要进行相反的操作,请参阅:按 ID/类别选择所有复选框