Javascript 立即计算表单的总数,无需选中复选框

Javascript 立即计算表单的总数,无需选中复选框,javascript,html,checkbox,Javascript,Html,Checkbox,我有一个HTML、JavaScript表单,它根据表单中的选择计算价格。问题是,只有在单击一个复选框后才能计算总价。我希望它立即计算价格,而不必先勾选复选框。下面是JavaScript代码的一个片段: function totalIt() { var input = document.getElementsByName("product"); var total = 0; for (var i = 0; i < input.length; i++) { if (inpu

我有一个HTML、JavaScript表单,它根据表单中的选择计算价格。问题是,只有在单击一个复选框后才能计算总价。我希望它立即计算价格,而不必先勾选复选框。下面是JavaScript代码的一个片段:

function totalIt() {
  var input = document.getElementsByName("product");
  var total = 0;
  for (var i = 0; i < input.length; i++) {
    if (input[i].checked) {
        total += parseFloat(input[i].value); // this function should run immediately
    }
  }
  document.getElementById("total").value = "€" + total.toFixed(2);
}
函数totalIt(){
var输入=document.getElementsByName(“产品”);
var合计=0;
对于(变量i=0;i
可以找到完整的表格

如何做到这一点?

调用
totalIt()加载页面后

<!-- Rekenscript om het totaal van het formulier te genereren -->
function totalIt() {
    var input = document.getElementsByName("product");
    var total = 0;
    for (var i = 0; i < input.length; i++) {
        if (input[i].checked) {
            total += parseFloat(input[i].value);
        }
    }
    document.getElementById("total").value = "€" + total.toFixed(2);
}

<!-- Checkbox switch om maandelijkse kosten aan of uit te doen -->
function showMe (box) {

    var chboxs = document.getElementsByName("c1");
    var vis = "none";
    for(var i=0;i<chboxs.length;i++) {
        if(chboxs[i].checked){
            vis = "block";
            break;
        }
    }
    document.getElementById(box).style.display = vis;
}

<!-- Switch om ander thema te kiezen (met a href) -->
function toggle() {
    var ele = document.getElementById("toggleText");
    var text = document.getElementById("displayText");
    if(ele.style.display == "block") {
        ele.style.display = "none";
        text.innerHTML = "Een ander thema kiezen";
    }
    else {
        ele.style.display = "block";
        text.innerHTML = "Huidige thema behouden";
    }
}

totalIt(); // call it here

函数totalIt(){
var输入=document.getElementsByName(“产品”);
var合计=0;
对于(变量i=0;i对于(var i=0;i我找到了一个很好的解决方案。我没有意识到这一点是很愚蠢的,但不幸的是,我并不擅长JavaScript

我按照@Durga的建议使用了
totalIt();
。我在它周围添加了这个脚本,以便它每10毫秒调用一次计算函数:

window.setInterval(function(){
  totalIt();
}, 10);

无论您将脚本放在何处,只要您不将其放在表单代码中,也不替换任何代码。当然,您可以将10ms更改为您需要的任何值。感谢大家的回答。

该表单似乎还有一些其他问题。单击第一个复选框,然后松开它,价格不会为零。除此之外在表单上执行任何操作的唯一方法似乎是选中复选框。您似乎建议您希望在用户实际选中复选框之前发生一些事情(即使这是用户可以进行选择的唯一方法)?
totalIt()
在您的电脑中调用它js@julekgwa哦,你说得对。我会解决的。谢谢你能显示你的HTML表单吗?可能是重复的