将复选框值数组推送到隐藏字段

时间:2016-05-20 03:06:32

标签: javascript jquery checkbox

我正在运行此代码并返回一组已检查的值

var a = [];
var cboxes = $('input[name="suppcheck[]"]:checked');
    var len = cboxes.length;
    for (var i=0; i<len; i++) {
        a[i] = cboxes[i].value;
       //document.getElementByName('suppgrp[]').value = a[i];

    }

我有一个ID为suppgrp的隐藏字段,我希望将所有这些值推送回来,并希望将其传递给数组..

但我无法......我哪里出错?

2 个答案:

答案 0 :(得分:1)

我添加了一些额外的代码,当页面加载然后将调用此函数,并且当更改复选框值时,然后也调用此函数,所以它一直工作

loadCheck(); // initial call this function to load data

    $('input[type="checkbox"]').change(function()
    {
        loadCheck();

    });

    function loadCheck() {
        $('#hiddenValue').val('');
        $('#showValue').val('');
        var checkboxes = $('input[name="suppcheck[]"]:checked');
        var data = [];
        var len = checkboxes.length;
        for (var i=0; i<len; i++) {
            data[i] = checkboxes[i].value;

        }
        $('#hiddenValue').val(data);
         $('#showValue').val(data);
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
    <input type="checkbox" name="suppcheck[]" value="1" />
    <input type="checkbox" name="suppcheck[]" value="2" />
    <input type="checkbox" name="suppcheck[]" value="3" />
    <input type="checkbox" name="suppcheck[]" value="4" />
    <input type="checkbox" name="suppcheck[]" value="5" />
    <input type="checkbox" name="suppcheck[]" value="6" />
    <input type="checkbox" name="suppcheck[]" value="7" />
    <input type="checkbox" name="suppcheck[]" value="8" />
    <input type="checkbox" name="suppcheck[]" value="9" />

    <input type="hidden" id="hiddenValue" />
    <input type="text" id="showValue" />

</form>

答案 1 :(得分:0)

var a = [];

jQuery('input[type="checkbox"]').change(function()   
{

 var cboxes = jQuery('input[name="suppcheck[]"]:checked');
 var len = cboxes.length;
 var alval = '';
 for (var i=0; i<len; i++) {
    a[i] = cboxes[i].value;
    if (alval != '') {
      alval += ','+a[i];
    }else{
      alval = a[i];
    }
 }

 jQuery('#myhidden').val(alval);

});