Javascript 如何将具有不同输入名称的选定复选框添加到一起

Javascript 如何将具有不同输入名称的选定复选框添加到一起,javascript,html,checkbox,cumulative-sum,Javascript,Html,Checkbox,Cumulative Sum,我目前有一系列不同项目的复选框,选中这些复选框会修改总数。下面是JavaScript代码 <script type="text/javascript"> function checkTotal() { document.listForm.total.value = ''; var sum = 0.00; for (i=0;i<document.listForm.choice.length;i++) { if (document.listForm.choice[i].checke

我目前有一系列不同项目的复选框,选中这些复选框会修改总数。下面是JavaScript代码

<script type="text/javascript">
function checkTotal() {
document.listForm.total.value = '';
var sum = 0.00;
for (i=0;i<document.listForm.choice.length;i++) {
if (document.listForm.choice[i].checked) {
sum = sum + parseFloat(document.listForm.choice[i].value);
}
}
document.listForm.total.value = sum.toFixed(2);
}

</script>

函数checkTotal(){
document.listForm.total.value='';
var总和=0.00;

对于使用jQuery的(i=0;i),下面的代码片段将在页面上添加所有复选框值。 我还没有测试过这个,但它应该可以工作

$("input[type=checkbox]").each(function(){
   if(this.checked){
     sum = sum+this.val();
   }
});

使用jQuery,下面的代码片段将在页面上添加所有复选框值。 我还没有测试过这个,但它应该可以工作

$("input[type=checkbox]").each(function(){
   if(this.checked){
     sum = sum+this.val();
   }
});

你可以这样做:

function checkTotal() {
    document.listForm.total.value = '';
    var sum = 0.00;
    var i, inputs, input;

    inputs = document.getElementsByTagName('input')

    for (i=0;i<inputs.length;i++) {
        input = inputs[i]
        if (input.type === 'checkbox' && input.name.substr(0, 6) === 'choice') {
            sum = sum + parseFloat(input.value);
        }
    }
    document.listForm.total.value = sum.toFixed(2);
}
函数checkTotal(){
document.listForm.total.value='';
var总和=0.00;
var i,输入,输入;
inputs=document.getElementsByTagName('input')

对于(i=0;i您可以执行以下操作:

function checkTotal() {
    document.listForm.total.value = '';
    var sum = 0.00;
    var i, inputs, input;

    inputs = document.getElementsByTagName('input')

    for (i=0;i<inputs.length;i++) {
        input = inputs[i]
        if (input.type === 'checkbox' && input.name.substr(0, 6) === 'choice') {
            sum = sum + parseFloat(input.value);
        }
    }
    document.listForm.total.value = sum.toFixed(2);
}
函数checkTotal(){
document.listForm.total.value='';
var总和=0.00;
var i,输入,输入;
inputs=document.getElementsByTagName('input')

对于(i=0;iThanks for response,虽然总数与此代码不符。不知道为什么,它只是保持在初始值0.00。还有其他想法吗?非常感谢!我对代码做了一些更改。我认为它现在可以工作了。如果没有,请在控制台中发布HTML和任何错误。您可以通过foll在Chrome中访问控制台由于感谢回复的指示,总数与此代码没有相加。不知道为什么,它只是保持在初始值0.00。还有其他想法吗?非常感谢!我对代码做了一些更改。我认为它现在可以工作了。如果没有,请在控制台中发布HTML和任何错误。您可以访问控制台在Chrome中,按照