Javascript 求和表单值并显示它
我想通过javascript对在html表单上的ckeckbox中选择的值求和 请参见以下示例: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
<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);