Я не уверен, как иначе я мог бы задать свой вопрос, но у меня есть таблица с несколькими строками заголовка и их соответствующими подстроками. Подстроки должны складываться и устанавливать значение строк заголовка. Как я могу сделать это эффективно?Добавление значений блоков строк в таблице
<table>
<tr>
<td>A</td> //header row
<td><input type="text"/></td>
</tr>
<tr>
<td>A1</td> //sub-row
<td><input type="text"/></td>
</tr>
<tr>
<td>A2</td> //sub-row
<td><input type="text"/></td>
</tr>
<tr>
<td>B</td> //header row
<td><input type="text"/></td>
</tr>
<tr>
<td>B1</td>//sub-row
<td><input type="text"/></td>
</tr>
<tr>
<td>B2</td>//sub-row
<td><input type="text"/></td>
</tr>
<tr>
<td>C</td> //header row
<td><input type="text"/></td>
</tr>
<tr>
<td>C1</td> //sub-row
<td><input type="text"/></td>
</tr>
</table>
Суб строки A1
+ A2
следует установить в общей сложности ввода A
. B1
+ B2
должно содержать до B
и так далее.
Один из способов я могу думать, делать это таким образом:
<tr>
<td>A</td> //header row
<td><input type="text" id="a"/></td>
</tr>
<tr>
<td>A1</td> //sub-row
<td><input type="text" class="asub"/></td>
</tr>
<tr>
<td>A2</td> //sub-row
<td><input type="text" class="asub"/></td>
</tr>
var finalresult = 0,
$a = $('.asub'),
$ares = $('#a');
$.each($a, function(i) {
var aVal = parseFloat($a.eq(i).value());
if (aVal) {
finalresult += aVal;
$ares.val(finalresult));
}
});
Но мне придется сделать это несколько раз для каждой строки заголовка. Есть ли лучший способ?
Можете ли вы привести пример? – input
@input Вы все уже приняли ответ, нужен ли еще пример? – Brainfeeder
Да, пожалуйста. Спасибо. – input