Суммирование стобцов
Есть 2 таблицы вида:
<form name = "View"> <table> <tr> <td><input name = "test_1" class="my_class" id = "sum_1"></td> <td><input name = "test_2" class="my_class" id = "sum_2"></td> <td><input name = "test_3" class="my_class" id = "sum_3"></td> </tr> </table> <table> <tr> <td><input type = "text" name = "zzz_sum_1" class="class_test_n" value = "1"</td> <td><input type = "text" name = "ppp_sum_2" class="class_test_p" value = "2"</td> <td><input type = "text" name = "nnn_sum_3" class="class_test_n" value = "3"</td> </tr> <tr> <td><input type = "text" name = "zzz_sum_1" class="class_test_n" value = "6"</td> <td><input type = "text" name = "ppp_sum_2" class="class_test_p" value = "7"</td> <td><input type = "text" name = "nnn_sum_3" class="class_test_n" value = "8"</td> </tr> </table> </form> Как просуммировать каждый столбец из второй таблицы (таблица значений) учитывая, что атрибут "name" каждого input -а содержит в себе id input-ового элемента для подсчета суммы ? |
<td><input type = "text" name = "zzz_sum_1" class="class_test_n" value = "1"</td> - ошибка, должно быть "><
Цитата:
var f = $('[name=View] input'); $.each(f.slice(3, -3), function(i, e) { f.eq(i).val(+e.value + +f.eq(i+6).val()) }) |
Спасибо за корректировку. Но вопрос остается открытым...
|
Что-то не понятно?
|
вы задаете фиксированный размер массива, а если столбцов больше ?
|
Цитата:
|
var tbl = $('[name=View] table'), sum = tbl.first().find('input'), val = tbl.last().find('input'), k=val.length/sum.length; //добавить если любое количество колонок/строк //если любое количество колонок $.each(val.slice(0, sum.length), function(i, e) { sum.eq(i).val(+e.value + +val.eq(i+sum.length).val()) }); //если любое количество колонок/строк for(var i=0; i<sum.length; ++i) { var v = 0; for(var j=0; j<k; ++j) v += +val.eq(i + j*sum.length).val(); sum.eq(i).val(v); } |
Часовой пояс GMT +3, время: 10:33. |