HTML数组乘javascript

HTML数组乘javascript,javascript,html,Javascript,Html,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="

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>
问题是:
表中的第一行正确相乘,但第二行不起作用…请帮助问题是您无法仅用
itemXxxxx
正确识别该行。 最好使用一些id来标识您所指的“行”

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

很容易从一些服务器端代码中插入行号


编辑:另一个选项是使用JQuery在父级和同级之间进行一些DOM遍历以获得所需的值。

如何知道第一行正确,而第二行不正确?ID必须是唯一的!搜索它,这已经解释了很多很多次了。你没有显示id为“item”的元素,所以函数的第一行将不起作用。更进一步,Felix说,这似乎是在一个表行中,因此如果您在多个重复相同ID的行上重复该操作,它将无法正常工作-
。getElementById()
将只返回第一个(或者,对于某些浏览器,可能是最后一个)。我没有任何“项”字段…您是否也错过了真正标记中的每个开头
?但我不知道有多少行是b,是这样的
function multiply(el) {
   var i= el.value * document.getElementById('itemPrice').value;
   document.getElementById('itemPrice').value =i;
}
<input id="price23" .....>
<input id="qty23" ......>
<input id="total23" onchange="calc(23);" ...>
function calc(id)
{

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