0

チェックボックスから値を渡そうとする単純なフォームを作成しています...

<div class="checkboxclass">
<input name="form[paperdesign][]" value="150" id="paperdesign0" type="checkbox">
<label for="paperdesign0">text 1</label>
<input name="form[paperdesign][]" value="100" id="paperdesign1" type="checkbox">
<label for="paperdesign1">text 2</label>
<input name="form[paperdesign][]" value="50" id="paperdesign2" type="checkbox">
<label for="paperdesign2">text 3</label>
<input name="form[paperdesign][]" value="50" id="paperdesign3" type="checkbox">
<label for="paperdesign3">text 4</label>
</div>

...この関数を使用して:

function calculate(){
    var sela=document.querySelectorAll("div.checkboxclass input");
    resultsel.value=0;
    resultsel.value=parseInt(resultsel.value);
    for(i=0;i<sela.length;i++)
        resultsel.value=parseInt(resultsel.value)+parseInt(sela[i].value);
}

そして、このすべての値を同時に渡すという事実を除けば、問題なく動作します。

これについて私を助けてください。

よろしくお願いします

ドム

4

2 に答える 2

1

選択したチェックボックスのみを計算するようにしたいと思います。

チェックボックスの選択を確認する必要があります。

function calculate(){
    var sela=document.querySelectorAll("div.checkboxclass input");
    var total = 0;
    for(i=0;i<sela.length;i++) {
        if(sela[i].checked)
            total += parseInt(sela[i].value);
    }
    resultsel.value = total;
}
于 2010-11-09T17:06:27.133 に答える
1

質問を理解できれば、チェックした項目の値のみを含めたいということですね。:checkedこの場合、セレクターを使用できるはずです。

var sela=document.querySelectorAll("div.checkboxclass input:checked");
于 2010-11-09T17:01:00.073 に答える