HTML 数组乘以 javascript

HTML array multiply javascript

本文关键字:javascript 数组 HTML      更新时间:2023-09-26

HTML 代码

<input name="itemCode[]" value="" class="tInput" id="itemCode" tabindex="1"/> </td>
<input name="itemDesc[]" value="" class="tInput" id="itemDesc"  readonly="readonly" /></td>
<input name="itemQty[]" value="" class="tInput" id="itemQty" tabindex="2" onchange="multiply(this)"/></td>
<input name="itemPrice[]" value="" class="tInput" id="itemPrice" readonly="readonly" /> </td>

脚本代码

function multiply(el) {
   var i= el.value * document.getElementById('itemPrice').value;
   document.getElementById('itemPrice').value =i;
}

问题是这样的:表中的第一行正确乘法,但第二行不起作用。请帮忙

问题是您无法仅使用 itemXxxxx 正确识别行。最好使用一些 id 来标识您所指的"行"。

例如(对于每一行,在本例中为第 23 行/项):

<input id="price23" .....>
<input id="qty23" ......>
<input id="total23" onchange="calc(23);" ...>

函数calc(id)为:

function calc(id)
{
     var p = document.getElementById("price"+id).value;
     var q = document.getElementById("qty"+id).value;
     document.getElementById("total"+id).value = p * q;
}

从某些服务器端代码注入行号很容易。

编辑:另一种选择是将JQuery与父级和兄弟姐妹之间的一些DOM遍历一起使用,以获得所需的值。