按id选择页面中的全部/取消选择所有复选框

Select All/Deselect All checkboxes in a page by id

本文关键字:选择 取消 复选框 全部 id      更新时间:2023-09-26

我有两个带复选框的块。我正在尝试用JS来检查这个特定的复选框。

 <%= hidden_field_tag "user[roles][]" %>
    <% User.valid_roles.map{|c| {name: c, id: User.mask_for(c)} }.each do |role| %>
      <%= check_box_tag "user[roles][]", role[:name], user.has_role?(role[:name]), id: "user_role_#{role[:id]}" %>
      <%= label_tag "user_role_#{role[:id]}", role[:name].to_s.titleize %><br/>
      <% end %>


$('#selectAll').click(function() {
   if(this.checked) {
       $(':checkbox').each(function() {
           this.checked = true;                        
       });
   } else {
      $(':checkbox').each(function() {
           this.checked = false;                        
       });
   } 
});

这样的东西应该可以工作:

$('#selectAll').on('change', function(){
  var checkboxes   = $('input[id^="employer_"]');
  var checkedValue = !!this.checked;
  checkboxes.prop('checked', checkedValue);
});

下面是一把小提琴:http://jsfiddle.net/f5nx0czv/

使用jQuery,您可以集体设置属性/属性,而无需对集合进行迭代。