如何将复选框中的值添加到数组中

How to add the values from checkboxes to an array

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

我有一个包含两个复选框的表单。发送此表单后,我需要这些复选框(值)到javascript数组。

请问谁能帮我个忙,我该怎么办?
var form = document.getElementById("yourformname"),
    inputs = form.getElementsByTagName("input"),
    arr = [];
for (var i = 0, max = inputs.length; i < max; i += 1) {
   // Take only those inputs which are checkbox
   if (inputs[i].type === "checkbox" && inputs[i].checked) {
      arr.push(inputs[i].value);
   }
}

使用jquery,你可以这样做:

var checkboxArr=[];
$('input[type=checkbox]').each(function(){
    checkboxArr.push(this);
});

未经测试,不确定这将如何在纯js中工作,也许它可以指出你在正确的方向

var values = [],
    inputs = document.getElementsByTagName("input");
for (var i = inputs.length -1 ; i>= 0; i--)
    if (inputs[i].type === "checkbox" && inputs[i].checked)
          values.push(inputs[i].value);

您可以在jsfiddle上测试以下函数:

function getCheckboxes(form_id, name) {
    // returns array of checked checkboxes with 'name' in 'form_id'
    var form = document.getElementById(form_id);
    var inputs = form.getElementsByTagName("input");
    var values = [];
    for (var i = 0; i < inputs.length; ++i) {
        if (inputs[i].type === "checkbox" && 
            inputs[i].name === name &&
            inputs[i].checked) 
        {
            values.push(inputs[i].value);
        }
    }
    return values;
}