Javascript 使用java脚本动态乘以2个单元格,并在第三个单元格中显示结果
我从数据库中提取记录,将它们显示在带有表单输入字段的表行中。这意味着将有多行,如下面的示例html代码所示。我只想使用javascript。其思想是,当用户输入数量时,它将乘以单价,结果显示在“小计”字段中。我不是JS开发人员,我搜索并找到了下面的代码,这是接近我需要的。如果有人能提出一些建议,以使代码正常工作,我将不胜感激Javascript 使用java脚本动态乘以2个单元格,并在第三个单元格中显示结果,javascript,html,Javascript,Html,我从数据库中提取记录,将它们显示在带有表单输入字段的表行中。这意味着将有多行,如下面的示例html代码所示。我只想使用javascript。其思想是,当用户输入数量时,它将乘以单价,结果显示在“小计”字段中。我不是JS开发人员,我搜索并找到了下面的代码,这是接近我需要的。如果有人能提出一些建议,以使代码正常工作,我将不胜感激 <SCRIPT language="JavaScript"> <!-- function calculate() { var Quantit
<SCRIPT language="JavaScript">
<!--
function calculate() {
var Quantity = document.getElementsByName("Quantity").value;
var unitPrice = document.getElementsByName("unitPrice").value;
var total = 0;
for (var i = 0; i < Quantity.length; i++) {
total += parseInt(Quantity[i].value) * parseInt(unitPrice[i]);
}
document.getElementsByName("subtotal").value = total;
}
</SCRIPT>
<table>
<tr>
<td>
<input onblur="calculate()" name="Quantity" size="2" />
<input name="unitPrice" value="5" size="2"/>
<input name="subtotal" size="2"/>
</td>
</tr>
<tr>
<td>
<input onblur="calculate()" name="Quantity" size="2" />
<input name="unitPrice" value="5" size="2"/>
<input name="subtotal" size="2"/>
</td>
</tr>
</table>
有几件事:A)document.getElementsByName(“”)
返回一个元素的节点列表集合,因此不能像这样获取每个输入的值,必须将它们放入for循环中;b) 然后,您还需要在解析循环之前获取循环中每个unitPrice[i]
的值,并且c)每次迭代后都应该重置总数,这样就可以在循环中使用它。见下文:
函数计算(){
var数量=document.getElementsByName(“数量”);
var unitPrice=document.getElementsByName(“单价”);
对于(变量i=0;i