У меня есть таблица для добавления строк в смету для отправки моим клиентам, примерно такая:
<table>
<thead>
<tr>
<th>Qty</th>
<th>Kind</th>
<th>Description</th>
<th>Price</th>
<th>Discount</th>
<th>Tax</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="qty[]" class="qty" /></td>
<td><!-- select field with different kinds of services --></td>
<td><input type="text" name="desc[]" /></td>
<td><input type="text" name="price[]" class="price" /></td>
<td><input type="text" name="discount[]" class="discount" /></td>
<td><!-- select field with tax rates --></td>
<td class="total"><!-- here goes the total amount (qty * price - discount) --></td>
</tr>
</tbody>
</table>
<span class="subtotal"><!-- the total amount (all lines together) --></span>
Если в input.qty, input.discount и input.price есть событие нажатия клавиши, необходимо обновить td.total для общей суммы в каждой строке. У меня есть функция, где я могу добавить несколько строк таблицы, следовательно, массив входных данных.
Итак, что мне нужно, когда поля ввода обновляются, jQuery должен обновить следующий td.total. Я пытался использовать оба метода: $ ('input.qty'). Keypress (function () {$ (this) .next ('td.total'). Html ()}), но это не сработало.