【发布时间】:2020-01-23 23:06:03
【问题描述】:
我有一张有 4 列的表格。第一个是产品的名称,第二个是每件商品的价格,第三列有一个输入字段,您可以在其中选择所需的商品数量,最后一列计算每件商品的价格 * 商品数量。
此计算有效,但我还想将所有这些计算到表格底部的总数中。
我对javascript知之甚少,所以我不确定我是否使用了正确的函数或方法。 代码由 PHP、HTML 和 Javascript 组成。
for ($i = 0; $i < $num_rows; $i++){
echo '<tr><td>' . $row[$i][0] . '';
echo '<td id="stkPris_' . $i . '">' . $row[$i][1] . '</td>';
echo '<td><input type="text" id="antall_' . $i .'" name="antall" size="1" value="0" oninput="calculate(value, this.id)"></td>';
echo '<td><input type="text" id="pris_' . $i . '" name="pris" size="1" readonly></td></tr>';
}
echo '
<tr>
<td><strong>Sum</strong></td>
<td></td>
<td></td>
<td><strong><input type="text" id= "sum" name="sum" size="1" value="0" readonly><strong></td>
</tr>
</table>';
<script>
function calculate(value, elementId){
var i;
for (i = 0; i < ' . $num_rows . '; i++){
var stkPris = document.getElementById("stkPris_" + i);
var antall = document.getElementById("antall_" + i);
var pris = document.getElementById("pris_" + i);
var sum = document.getElementById("sum");
var delsummer = antall.value * stkPris.innerText;
if(elementId == "antall_" + i){
pris.value = delsummer;
}
sum.value += pris.value;
}
}
</script>
总数似乎是一个字符串而不是一个数字?我尝试将“每件商品的价格”放入输入中,并使用 .value 而不是 .innerText。什么都没做。
【问题讨论】:
-
sum.value是一个字符串,所以你正在重复字符串连接 -
for (i = 0; i < ' . $num_rows . '; i++){ -
对,就是php代码,只是获取数据库表的行数
标签: javascript