2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
您的setAmount
變量是來自 的字符串innerHTML
。
對(duì)兩個(gè)變量都使用parseInt()
:
total += parseInt(value[i]) * parseInt(setAmount);
更新
經(jīng)過更深入的審查后,您發(fā)現(xiàn)了一些其他問題。
您的
setAmount
變量是""
,因?yàn)樗鼪]有在 HTML 中設(shè)置。你正在循環(huán)
HoeveelheidArr
兩次你應(yīng)該使用
value
而不是value[i]
我做了一個(gè)工作示例:
var HoeveelheidArr = [];
var total = 0;
const setAmount = document.getElementById("dynamicSet").innerHTML || 0;
function getData() {
HoeveelheidArr = [];
total = 0;
$('#resultTable .HoeveelheidField > input').each(function() {
HoeveelheidArr.push($(this).val() || 0);
});
console.log("HoeveelheidArr:", HoeveelheidArr);
for (var i = 0; i < HoeveelheidArr.length; i++) {
console.log("setAmount:", setAmount);
total += parseInt(HoeveelheidArr[i]) * parseInt(setAmount);
}
console.log("Total:", total);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p>Aantal sets: <span id="dynamicSet">1</span></p>
<table id="resultTable" cellpadding="1" cellspacing="1" border="1">
<tr>
<th scope="col"></th>
<th scope="col">Hoeveelheid</th>
<th scope="col">Gewicht x KG</th>
</tr>
<tr>
<td>1</td>
<td class="HoeveelheidField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
<td class="GewichtField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
</tr>
<tr>
<td>2</td>
<td class="HoeveelheidField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
<td class="GewichtField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
</tr>
<tr>
<td>3</td>
<td class="HoeveelheidField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
<td class="GewichtField">
<INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1">
</td>
</tr>
</table>
<button onclick="getData()">Test</button>

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
為什么你使用 value[i] value 不是一個(gè)數(shù)組,它只是一個(gè)數(shù)字。
console.log([value[i]);
value[1] 和 value[2] 未定義,這就是為什么你得到 NaN
如果你告訴我你想通過這段代碼做什么,我可以糾正它
- 2 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報(bào)