如何获得输入的计算列的总和

时间:2016-07-04 15:36:06

标签: javascript html sharepoint-2013 office365

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

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

但在我的情况下,我有3个数字列 任何的想法?

1 个答案:

答案 0 :(得分:1)

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

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

function myFunction() {
	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>

您所做的是在附加事件侦听器并计算总数时循环输入。有两种方法可以做到这一点,两者都在上面实现。