jquery复选框,如何获取所有选中的复选框并将它们添加到数组?

Zor*_*ran 4 javascript jquery

嗨,我有以下页面:

<input type="checkbox"  name="fruit1" id="1"  class="box">Banana<br /><br />
<input type="checkbox"  name="fruit2" id="2"  class="box">Cherry<br /><br />
<input type="checkbox"  name="fruit3" id="3"  class="box">Strawberry<br /><br />
<input type="checkbox"  name="fruit4" id="4"  class="box">Orange<br /><br />
<input type="checkbox"  name="fruit5" id="5"  class="box">Peach<br /><br />
<input type="button" id="groupdelete" value="clickme"><br />
Run Code Online (Sandbox Code Playgroud)

 $(document).ready(function(){

$('#groupdelete').on('click', function(){
  var names = [];
   $('input:checked').each(function() {

       names.push($('input:checked').attr("name") + $('input:checked').attr('id'));

 });
   console.log(names); 
})

})
Run Code Online (Sandbox Code Playgroud)

我想要做的是以下内容:

在数组中添加选中的复选框.之后,我希望能够传递php变量中的值.

当我现在执行代码时,我得到的结果如下:

["fruit22","fruit22","fruit22"]

任何帮助将深表感谢.

此致,Zoreli

Ant*_*ist 12

您需要使用this而不是'input:checked'.each()函数内部来引用正在检查的集合中的当前元素.如果您重新使用选择器,那么您将再次获得该集合,那么只能从集合中的第一个元素获取属性.

$('input:checked').each(function() {
    names.push($(this).attr("name") + this.id);
});
Run Code Online (Sandbox Code Playgroud)