2016-07-04 8 views
0

Ich habe Baum Nummer Spalten, und erstellen Sie eine berechnete Spalte, um die Summe der Baum-Eingaben zu erhalten, aber ich muss auf Speichern klicken, um Änderung zu sehen. Ich suche nach dem Ergebnis in der berechneten Spalte, wenn jemand eine Zahl in eine der drei Spalten eingibt oder ändert, bevor er auf Speichern klickt. Ich habe versucht, diesen Code JavaScript:So erhalten Sie die Summe der berechneten Spalte auf Eingabe

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

aber in meinem Fall habe ich 3 Anzahl Spalten irgendeine Idee?

+0

Haben Sie ein Office-Add-In entwickelt? –

Antwort

1

Siehe die folgende Lösung. Sie werden einige Validierung hinzufügen, so dass nur Zahlen

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>

durften Was Sie tun, ist eine Schleife durch die Eingänge, während die Ereignis-Listener Anbringen und die gesamte Berechnung. Es gibt 2 Möglichkeiten, dies zu tun, beide oben implementiert.

+0

Ihr Code funktioniert gut, danke Ich fand diese Funktion, die auch gut funktionieren: http://StackOverflow.com/Questions/13540751/how-get-total-sum-from-input-box-values-using- Javascript – ysfibm

+0

Wie kann ich diese Funktion nur auf zwei Eingaben anwenden, ohne die Boucle für? – ysfibm