在for循环中声明的变量(变量名= sum)在循环外部不起作用。我错过了什么?该变量需要简单地对表中的总变量求和。在这个例子中,我只剩下一行,但会有很多。
这里是FIDDLE。
问题:TOTAL行中没有任何内容。它不是在计算。
<script>
var c1 = 14.94;
function changeq1() {
var q1 = parseInt(document.getElementById('q1').value);
var t1 = q1 * c1;
var total1 = t1.toFixed(2);
document.getElementById('ukupno1').innerHTML = total1;
var sum = total1;
}
</script>
HTML PAGE
<table cellpadding="0" cellspacing="0" width="100%" style="border: 1px solid black;">
<tr style="text-align:center;">
<td>"Stiromix"</td>
<td><div id="c1">14.94</div></td>
<td><input type="number" id="q1" min="0" max="9999" onchange="changeq1();"></td>
<td><div id="ukupno1">0.00</div></td>
</tr>
</tr>
<tr style="text-align:center;">
<td>TOTAL</td><td></td><td></td>
<td><div id="total"><script>document.getElementById("total").innerHTML=sum</script></div></td>
</tr>
</table>
答案 0 :(得分:2)
问题是你已经在你的函数中声明了sum
,但是隐藏在你小提琴底部的这段代码试图在外面使用它**函数(它与循环无关;事实上,我没有在代码中看到任何循环):
<script>document.getElementById("total").innerHTML=sum</script>
失败,因为没有全局sum
变量。
您可能希望将代码放在函数中,而不是放在与其无关的单独脚本块中。 Updated Fiddle那就是说,不清楚为什么你同时拥有total1
和sum
,但我的猜测是这段代码只是部分完成而且total1
会是(在最终版本中)只有一行,sum
将适用于所有行。或类似的东西。