2016-07-26 8 views
-1

Ich versuche, Werte von n Eingabefeld hinzuzufügen, aber ich Ergebnis wie NaN Wohin gehe ich falschHolen Werte von Eingaben sie dann hinzufügen, JavaScript

<table> 
<tr> 
<td><input class="one" name="" value="1" type="text"></td> 
<td><input class="two" name="" value="2" type="text"></td> 
<td><input class="three" name="" value="3" type="text"></td> 
<td><input class="four" name="" value="4" type="text"></td> 
<td class="total"> </td> 
</tr> 
</table> 


<script> 
var tdsOne = document.getElementsByClassName("one").value; 
var tdsTwo = document.getElementsByClassName("two").value; 
var tdsThree = document.getElementsByClassName("three").value; 
var tdsFour = document.getElementsByClassName("four").value; 

var sum = 0; 
sum += tdsOne + tdsTwo + tdsThree + tdsFour; 

console.log(sum);  
document.getElementsByClassName('total')[0].textContent = sum; 

</script> 

Antwort

1

Da document.getElementsByClassName ist ein Array-ähnliches Objekt, müssen Sie es durch seinen Index

var tdsOne = document.getElementsByClassName("one")[0].value; 
var tdsTwo = document.getElementsByClassName("two")[0].value; 
var tdsThree = document.getElementsByClassName("three")[0].value; 
var tdsFour = document.getElementsByClassName("four")[0].value; 

EDIT

Wenn Sie für die Arithmetik der Suche sind zu beziehen hinzufügen Diese Werte müssen in Zahl konvertiert werden. Sie können Unary plus Operator

sum += +tdsOne + +tdsTwo + +tdsThree + +tdsFour; 

JSFIDDLE

+0

verwenden Was Summe das Ergebnis, Ihre Lösung auf 1234 kommt –

+2

auch Nummer() verwenden, um diese Ergebnisse als Zahl summieren zu können (document.getElementsByClassName (“ ein ") [0] .Wert); Wiederholen Sie für die folgenden Werte – Fortune

+0

@Fortune außerhalb von Curriosity, was steht für –

Verwandte Themen