1

HTMLフォームに11個のチェックボックスがあり、onclick関数にチェックされているチェックボックスの数を決定するセクションがすでにありますが、チェックされているチェックボックスを確認したいのですが、チェックされているチェックボックスを追加するだけです。 id/valueなどで配列リストに追加します。

編集:(修正されたコード..?)

var formobj = document.forms[0];
    var ingNum = 0;
    checked = [];
    for (var j = 0; j < formobj.elements.length; j++) {
        if (formobj.elements[j].type == "checkbox" && formobj.elements[j].checked) {
                ingNum++;
                 checked.push(formobj.elements[j].value);
        }
    } 
4

2 に答える 2

3

valueチェックされたものをそれらの属性の配列に変換したい場合(属性の場合、とid交換)、...を使用できます。valueid

var inputs = document.getElementById('your-form').getElementsByTagName('input'),
    checked = [];

for (var i = 0, length = inputs.length; i < length; i++) {
    if (inputs[i].type == 'checkbox' && inputs[i].checked) {
        checked.push(inputs[i].value);
    }
}

これは、気になる古いIEのいずれでも機能します。

新しいブラウザのみをサポートするという贅沢がある場合は、次を使用できます...

var checked = [].slice.call(document
               .querySelectorAll('#your-form input[type="checkbox"]'))
               .filter(function(checkbox) {
                         return checkbox.checked;
               })
               .map(function(checkbox) {
                        return checkbox.value;
               });

jQueryなどのライブラリを使用している場合は、さらに簡単です...

var checked = $('#your-form :checkbox:checked')
              .map(function() {
                      return this.value;  
               })
              .get();
于 2012-04-07T02:42:43.643 に答える
0
var checkedBoxes = [];

$("input:checked").each(function() {
    checkedBoxes.push($(this));
});

実際、私はあなたがこれを行うことができると思います:

var checkedBoxes = $("input:checked");

しかし、それがうまくいくかどうかは100%わかりません。

于 2012-04-07T02:41:35.877 に答える