0

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>

Javascript コード

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

問題はこれです: テーブルの最初の行は正しく乗算されますが、2 行目は機能しません....助けてください

4

1 に答える 1

1

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トラバーサルを行い、目的の値を取得することです。

于 2012-08-12T12:15:00.643 に答える