Jquery 选择“全选”div周围的复选框

Jquery 选择“全选”div周围的复选框,jquery,html,checkbox,Jquery,Html,Checkbox,当用户单击全选按钮(也在同一个div中)时,我试图选中div中的所有复选框。我想使用jQuery来实现这一点。我的HTML代码如下所示: <div> <input type='checkbox' name='select_all' /> <input type='checkbox' name='check1' /> <input type='checkbox' name='check2' />

当用户单击全选按钮(也在同一个div中)时,我试图选中div中的所有复选框。我想使用jQuery来实现这一点。我的HTML代码如下所示:

 <div>
     <input type='checkbox' name='select_all' />
     <input type='checkbox' name='check1' />    
     <input type='checkbox' name='check2' />   
     <input type='checkbox' name='check3' />   
 </div>    

一个活生生的例子

<div>
  <input type='checkbox' name='select_all' />
  <input type='checkbox' name='check1' />    
  <input type='checkbox' name='check2' />   
  <input type='checkbox' name='check3' />   
</div>  ​

$(document).on('change', '[name="select_all"]', function(){
      var $this = $(this); 
      var div = $this.parent();
      var ischecked = $this.prop('checked');
      div.find(':checkbox').not($this).prop('checked', ischecked);

}); 

​
$(文档)。在('change','[name=“select_all”]”上,函数(){
var$this=$(this);
var div=$this.parent();
var ischecked=$this.prop('checked');
div.find(“:checkbox”).not($this).prop('checked',ischecked);
}); 
一个活生生的例子

<div>
  <input type='checkbox' name='select_all' />
  <input type='checkbox' name='check1' />    
  <input type='checkbox' name='check2' />   
  <input type='checkbox' name='check3' />   
</div>  ​

$(document).on('change', '[name="select_all"]', function(){
      var $this = $(this); 
      var div = $this.parent();
      var ischecked = $this.prop('checked');
      div.find(':checkbox').not($this).prop('checked', ischecked);

}); 

​
$(文档)。在('change','[name=“select_all”]”上,函数(){
var$this=$(this);
var div=$this.parent();
var ischecked=$this.prop('checked');
div.find(“:checkbox”).not($this).prop('checked',ischecked);
}); 

在添加到上一个答案中:

$('input[name=select_all]').on('click', function(){

    if($(this).prop('checked')) {
         $('input[type=checkbox]').attr('checked', true);
    }else{
         $('input[type=checkbox]').attr('checked', false);
    }
});

在补充上一个答案时:

$('input[name=select_all]').on('click', function(){

    if($(this).prop('checked')) {
         $('input[type=checkbox]').attr('checked', true);
    }else{
         $('input[type=checkbox]').attr('checked', false);
    }
});

尽管其他回答是正确的,但我想补充一点:如果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>  
这样可以避免选中不相关的subscribe复选框


您可以看到它的作用。

尽管其他响应是正确的,但我想补充一点:如果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>  
这样可以避免选中不相关的subscribe复选框


您可以看到它的作用。

您也可以执行类似操作,以选中一个div中的复选框,而不是所有复选框: 如果选中全选,它将选中所有复选框;如果取消选中全选,它将取消选中所有选择框


您还可以执行类似操作,以选中一个div中的复选框,而不是所有复选框: 如果选中全选,它将选中所有复选框;如果取消选中全选,它将取消选中所有选择框