2016-07-04 36 views
0

我有树号列,并创建一个计算列以获取树输入的总和,但我必须单击保存才能看到更改。 我正在寻找计算列上的结果,当有人在按下保存前键入或更改三列之一中的数字时。 我想这段JavaScript代码:如何获得输入的计算列的总和

function myFunction() { 
    var x = document.getElementById("myInput").value; 
    document.getElementById("demo").innerHTML = "You wrote: " + x; 
} 

但对我来说我有3列数 什么想法?

+0

您是否正在开发Office加载项? –

回答

1

请参阅下面的解决方案。你必须添加一些验证,以便只有数字被允许

var inputs = document.getElementsByClassName("myInput"); 
 

 
function myFunction() { 
 
\t var total = 0; 
 

 
    Array.prototype.forEach.call(inputs, function (input) { 
 
     total += +input.value; 
 
    }); 
 

 
    document.getElementsByClassName("myOutput")[0].innerHTML = "The total is: " + total; 
 
} 
 

 
for (var i = 0; i < inputs.length; i++) { 
 
    inputs[i].addEventListener("input", function() { 
 
     myFunction(); 
 
    }); 
 
}
<form action="#"> 
 
    <input type="text" class="myInput"> 
 
    <input type="text" class="myInput"> 
 
    <input type="text" class="myInput"> 
 
</form> 
 

 
<div class="myOutput"></div>

你要做的就是通过输入回路,同时附加的事件侦听器和总计算。有两种方式可以做到这一点,两种方式都可以实现。

+0

你的代码工作得很好,谢谢 我发现这个功能工作得很好: http://stackoverflow.com/questions/13540751/how-get-total-sum-from-input-box-values-using- javascript – ysfibm

+0

如何在不使用boucle的情况下将此函数仅应用于两个输入? – ysfibm