【问题标题】:How to add the values from checkboxes to an array如何将复选框中的值添加到数组
【发布时间】:2011-11-16 01:14:25
【问题描述】:

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

谁能帮我一个忙,请问怎么办?

【问题讨论】:

    标签: javascript arrays forms checkbox


    【解决方案1】:
    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);
       }
    }
    

    【讨论】:

    • 您的代码中有错误,第一个 var 语句后的分号,使 'inputs' 和 'arr' 引用全局变量。
    • @Jose Faeti:对。非常感谢!
    【解决方案2】:

    使用 jquery 你可以做这样的事情:

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

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

    【讨论】:

      【解决方案3】:
      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);
      

      对于纯 JS。

      【讨论】:

        【解决方案4】:

        您可以在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;
        }
        

        【讨论】:

          猜你喜欢
          • 2015-05-19
          • 2020-11-03
          • 2013-06-06
          • 2021-09-24
          • 2020-09-11
          • 2020-06-22
          • 2014-01-26
          • 2013-01-03
          • 1970-01-01
          相关资源
          最近更新 更多