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

jquery checkboxes, how to get all selected checkboxes and add them to array?

本文关键字:复选框 数组 添加 何获取 获取 jquery      更新时间:2023-09-26

嗨,我有以下页面:

<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 />

 $(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); 
})
})

我想做的是:

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

当我现在精通代码时,我会得到这样的结果:

["fruit22"、"fruit22["、"水果22["]

任何帮助都将不胜感激。

此致,Zoreli

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

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

将html更改为

<input type="checkbox"  name="fruits[]" id="1"  class="box">Banana<br /><br />
<input type="checkbox"  name="fruits[]" id="2"  class="box">Cherry<br /><br />
<input type="checkbox"  name="fruits[]" id="3"  class="box">Strawberry<br /><br />
<input type="checkbox"  name="fruits[]" id="4"  class="box">Orange<br /><br />
<input type="checkbox"  name="fruits[]" id="5"  class="box">Peach<br /><br />
<input type="button" id="groupdelete" value="clickme"><br />

现在,看看jQuery/Javascript

$(document).ready(function(){
    $('#groupdelete').click(function() {
        var marked = new Array();
        var k = 0;
        $('input:checked').each(function(index,value) {
            marked[k] = value;
            k++;
        });        
        alert(marked[0].id);
    });
});

alert只是通过访问数组索引上的直接访问来为您提供演示。