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

IT技术 javascript jquery checkbox
2021-02-27 19:59:30

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

6个回答

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

$('input:checkbox').removeAttr('checked');
这现在是一个过时的答案 - 请参阅:stackoverflow.com/questions/17420534/...
2021-04-21 19:59:30
此脚本正在切换复选框的状态。不确定我是否做错了什么
2021-04-29 19:59:30
请注意,在 jQuery v1.6 及更高版本中,您应该使用 .prop('checked', false) 代替以获得更大的跨浏览器兼容性 - 请参阅api.jquery.com/prop
2021-05-06 19:59:30
在打开新对话框之前,我用它来重置表单。在此之后,我需要将一个复选框“选中”,但这是行不通的。当我查看生成的代码时,它被“选中”,但在我的页面上它不是 $('input:checkbox').removeAttr('checked'); $('input[value='+val+']').attr('checked',true);
2021-05-06 19:59:30

如果你想使用表单的重置功能,你最好使用这个:

$('input[type=checkbox]').prop('checked',true); 

或者

$('input[type=checkbox]').prop('checked',false);

貌似removeAttr()不能重置form.reset()

虽然接受的答案也有效,但我发现这是最好的方法。请,如果您正在阅读本文,请考虑使用这种方式,因为这是最佳实践。
2021-04-26 19:59:30
这不是RE SETTING复选框,是UN SETTING它,需要使用item.defaultChecked来重置为原来的状态!
2021-04-28 19:59:30

我以前用过这个:

$('input[type=checkbox]').prop('checked', false);

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

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

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

上面的答案对我不起作用 -

以下工作

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 

这可确保取消选中所有复选框。

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

$(':checkbox').each(function(i,item){ 
        this.checked = item.defaultChecked; 
}); 
我几乎是一样的回答!重置和未设置之间有区别!向上
2021-05-12 19:59:30