私は自分のニーズに合わせて変更した JavaScript を使用してテーブルに行を動的に作成しました。この動的に作成されたテーブル内で、Qty に価格を掛けて、それを合計ボックスに入れたい
html
<table>
<tbody id="plateVolumes">
<tr>
<td><input type="checkbox" value="None" id="chk" name="chk[]" /></div></td>
<td><input type='text' name='qty' id='qty' class="qty" placeholder='Qty' /></td>
<td><select name="productdescription[]" class="productdescription" id="productdescription">
<option value="Product">Product</option>
<option value="Product01" label="Product01">Product01</option>
<option value="Product02" label="Product02">Product02</option>
<option value="Product03" label="Product03">Product03</option>
<option value="Product04" label="Product04">Product04</option>
<option value="Product05" label="Product05">Product05</option>
<option value="Product06" label="Product06">Product06</option>
</select></td>
<td><input type='text' name='price[]' id='price' class="price" placeholder='Price (£)' onChange="WO()" /></td>
<td><input type='text' name='totalprice[]' id='totalprice' class="price" placeholder='Total Price (£)' /></td>
</tr>
</tbody>
</table>
値を一緒に追加するためにこの JavaScript コードを使用していますが、これはコードによって作成されていない最初の行でのみ機能します。
JavaScript
<script>
function WO() {
var qty = document.getElementById('qty').value;
var price = document.getElementById('price').value;
answer = (Number(qty) * Number(price)).toFixed(2);
document.getElementById('totalprice').value = answer;
}
</script>
私はjavascriptにかなり慣れていないので、これを動的行にも適用する方法があるかどうか疑問に思っていますが、phpメーラーに渡すときのためにそれらを別々に保ちます。
編集:私はコードで遊んでいて、必要な答えを得るのに少し近づいていますが、これをどのようにして私が望む答えを与えるのかまだわかりません.
function WO() {
for (var i = 0; i < rowCount; i++) {
var qty = document.getElementsByClassName('qty').value;
var price = document.getElementsByClassName('price').value;
var answer = (Number(qty) * Number(price)).toFixed(2);
document.getElementsByClassName('totalprice[' + i + ']').innerHTML = answer;
}
}