Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 求和表单值并显示它_Javascript_Html_Forms_Input - Fatal编程技术网

Javascript 求和表单值并显示它

Javascript 求和表单值并显示它,javascript,html,forms,input,Javascript,Html,Forms,Input,我想通过javascript对在html表单上的ckeckbox中选择的值求和 请参见以下示例: <form> <input type="checkbox" id="digit_1"> <input type="checkbox" id="digit_2"> <input type="checkbox" id="digit_3"> <input type="checkbox" id="digit_4"> <div id="res

我想通过javascript对在html表单上的ckeckbox中选择的值求和 请参见以下示例:

<form>
<input type="checkbox" id="digit_1">
<input type="checkbox" id="digit_2">
<input type="checkbox" id="digit_3">
<input type="checkbox" id="digit_4">

<div id="result"></div>
<input type="submit">
</form>
例如,当选择“Digital_1”和“Digital_3”时,它会在结果div中显示它(11)的总和 当“数字_3”被删除时=11-1=10
在div中显示10号

首先,您可以将复选框的值存储在复选框中:

<form>
    <input type="checkbox" id="digit_1" value="10">
    <input type="checkbox" id="digit_2" value="5">
    <input type="checkbox" id="digit_3" value="1">
    <input type="checkbox" id="digit_4" value="20">

    <div id="result"></div>
    <input type="submit">
</form>

然后,在脚本中,您可以循环遍历每一个值,并对值进行汇总:

var value;
for (var i = 1; i <= 4; i++) {
    var checkbox = document.getElementById("digit_" + i);
    if (checkbox.checked) {
        value += +checkbox.value;
    }
}
result.innerText = value;
var值;

对于(var i=1;i您可以执行以下操作

<form>
    <input type="checkbox" class="summable" id="digit_1" data-value="10">
    <input type="checkbox" class="summable" id="digit_2" data-value="5">
    <input type="checkbox" class="summable" id="digit_3" data-value="1">
    <input type="checkbox" class="summable" id="digit_4" data-value="20">
    <div id="result"></div>
</form>

还有一个JSFiddle来展示它:

你能发布到目前为止的代码吗?有没有理由不把这些值放在HTML中?没有..发送结果值没关系…我只想在结果div中显示数字的总和你应该给这些输入添加一个更改函数实际上,结果是在HTML DOM中定义的。我会d high不鼓励循环使用这样的值。我非常不鼓励使用id=“digit\u 1”编写元素,但这不是问题所在。@alancnet那么你可能想避免给出一个让他陷入如此糟糕境地的答案practices@user2737385JSFIDLE不工作?或者当您将其粘贴到代码中时?如果问题出在您的代码库上,那么请检查是否有jquery。
<form>
    <input type="checkbox" class="summable" id="digit_1" data-value="10">
    <input type="checkbox" class="summable" id="digit_2" data-value="5">
    <input type="checkbox" class="summable" id="digit_3" data-value="1">
    <input type="checkbox" class="summable" id="digit_4" data-value="20">
    <div id="result"></div>
</form>
function updateSum(){
    var sum = 0;
    $('form input.summable:checked').each(function(){
        sum+=parseInt($(this).attr('data-value'),10);
    });
    $('#result').html('Sum: ' + sum);
}

updateSum();

$(document).on('change', 'input.summable', updateSum);