最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to add the values from checkboxes to an array - Stack Overflow

programmeradmin0浏览0评论

I have a form that contains a couple of checkboxes. After send this form I would need these checkboxes (the values) to a javascript array.

Could anyone give me a favor, please, how to do?

I have a form that contains a couple of checkboxes. After send this form I would need these checkboxes (the values) to a javascript array.

Could anyone give me a favor, please, how to do?

Share Improve this question edited Sep 13, 2011 at 10:42 betamax 14.1k9 gold badges42 silver badges55 bronze badges asked Sep 13, 2011 at 10:26 user1946705user1946705 2,88814 gold badges43 silver badges58 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 3
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);
   }
}

with jquery you could do something like this:

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

Untested and not sure how this would work in pure js, maybe it can point you in the right direction

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);

for pure JS.

You can test the following function on 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;
}
发布评论

评论列表(0)

  1. 暂无评论