虽然其他回答都是正确的,但我想补充一点:如果 HTML 页面中有其他复选框,通过仅按类型(复选框)选择复选框,您可能会选中与您想要的复选框无关的其他复选框。
最少添加的代码,不应该影响您的其他代码部分是为复选框分配一个特定的类。例如,如果您的复选框代表爱好,则将它们添加到 hobby_checkbox 类:
<div>
<input type='checkbox' name='select_all' /> Select all hobbies
<br>
<input type='checkbox' class='hobby_checkbox' name='check1' /> Ski
<br>
<input type='checkbox' class='hobby_checkbox' name='check2' /> Travel
<br>
<input type='checkbox' class='hobby_checkbox' name='check3' /> PC Games
<br>
<br>
<input type='checkbox' class='other_checkbox' name='other_check' /> Subscribe
</div>
然后,当您想要选择您想要检查的复选框时,您只选择属于您想要的类的那些:
$(document).on('change', '[name="select_all"]', function(){
var $this = $(this);
var div = $this.parent();
var ischecked = $this.prop('checked');
div.find(':checkbox.hobby_checkbox').prop('checked', ischecked);
});
这避免了检查不相关的订阅复选框。
您可以在这里看到它的实际效果。