Я хочу добавить событие key up для каждого элемента текстового поля в таблице, исключая последнее текстовое поле в каждой строке. Таблица является динамической по обеим осям.
Событие key up будет суммировать значения во всех текстах, кроме последнего. Итог помещается в последнее текстовое поле для строки.
Скрипт для суммирования и установки итогов все отлично работает.
Я устал от выбора целевых элементов:
$("#Grid tr input:text:not(:last)").keyup(function(){
//do total stuff here
})
К сожалению, он работает так, как задокументировано, а не так, как я хотел, и устанавливает все флажки, кроме самого последнего.
В идеале решение не будет включать в себя дальнейшую разметку в приведенном ниже примере таблицы или циклы. Однако, если это то, что нужно, пусть будет так.
<table id="Grid">
<tr id="r1">
<td>Row 1</td>
<td><input type="text" id="txt_a1_b1"></td>
<td><input type="text" id="txt_a1_b2"></td>
<td><input type="text" id="txt_a1_b3"></td>
<td><input type="text" id="txt_a1_b4"></td>
<td><input type="text" id="total_a1"></td>
</tr>
<tr id="r2">
<td>Row 2</td>
<td><input type="text" id="txt_a2_b1"></td>
<td><input type="text" id="txt_a2_b2"></td>
<td><input type="text" id="txt_a2_b3"></td>
<td><input type="text" id="txt_a2_b4"></td>
<td><input type="text" id="total_a2"></td>
</tr>
<tr id="r3">
<td>Row 3</td>
<td><input type="text" id="txt_a3_b1"></td>
<td><input type="text" id="txt_a3_b2"></td>
<td><input type="text" id="txt_a3_b3"></td>
<td><input type="text" id="txt_a3_b4"></td>
<td><input type="text" id="total_a3"></td>
</tr>
</table>
И последнее замечание: текстовое поле итога должно быть текстовым полем, поскольку существует также требование ввести итоговое значение, а затем разбить его по строке, и я не хочу, чтобы в текстовом поле итога использовалась функция подбора.