Javascript:如何获取所选复选框的所有值,推送到数组,然后放入输入HTML元素

Javascript: How can I get all value of selected checked checkboxes, push to an array then put in in a input HTML element?

本文关键字:数组 然后 HTML 元素 输入 何获取 获取 复选框 Javascript      更新时间:2023-09-26

我有一个包含 50 个复选框的列表。如果用户选中其中一些,我如何获取所选值的所有值并将它们推送到数组中,然后将其放置在隐藏的文本元素中?

我可以对所有复选框使用相同的名称吗?或者我必须为每个复选框使用不同的名称?

<input type="checkbox" name="bulk_id[]" value="1"/>
<input type="checkbox" name="bulk_id[]" value="2"/>
<input type="checkbox" name="bulk_id[]" value="3"/>
<input type="checkbox" name="bulk_id[]" value="4"/>
<input type="checkbox" name="bulk_id[]" value="5"/>
...

谢谢。

你用jquery标记了你的问题,所以我假设你正在使用它。

选中带有输入[类型=复选框]的复选框,并使用子类:checked过滤选中的复选框

1-获取数组中的所有复选框

var selectedValues =[]
$('input[type=checkbox]:checked').each(function(i,e){
  selectedValues.push( $(e).attr('value') )
})

2-将此数组的内容附加到隐藏输入中(用,分隔(

$('#yourhiddenID').val( selectedValues.join(',') );

在此解决方案中,复选框的名称无关紧要。

将您的复选框放在容器中以便更好地选择:

$('#yourCheckboxContainerID input[type=checkbox]:checked')

所以你必须得到你拥有的所有复选框

 var checkboxes = document.getElementsByName("bulk_id[]");
 var arrayVal = [];
 for (var i= 0; i<checkboxes.length;i++)
  {
     if (checkboxes[i].checked === true)
     {
         arrayVal.push(checkboxes[i].value); 
     }
  }
相关文章: