Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.12.2019, 17:52
Аспирант
Отправить личное сообщение для Asew Посмотреть профиль Найти все сообщения от Asew
 
Регистрация: 24.08.2018
Сообщений: 30

Суммирование стобцов
Есть 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-ового элемента для подсчета суммы ?
Ответить с цитированием
  #2 (permalink)  
Старый 12.12.2019, 18:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

<td><input type = "text" name = "zzz_sum_1" class="class_test_n" value = "1"</td> - ошибка, должно быть "><


Сообщение от Asew
учитывая, что атрибут "name" каждого input -а содержит в себе id input-ового элемента для подсчета суммы
Они вообще не нужны.

var f = $('[name=View] input');

$.each(f.slice(3, -3), function(i, e) {
    f.eq(i).val(+e.value + +f.eq(i+6).val())
})

Последний раз редактировалось laimas, 12.12.2019 в 18:40.
Ответить с цитированием
  #3 (permalink)  
Старый 12.12.2019, 18:37
Аспирант
Отправить личное сообщение для Asew Посмотреть профиль Найти все сообщения от Asew
 
Регистрация: 24.08.2018
Сообщений: 30

Спасибо за корректировку. Но вопрос остается открытым...
Ответить с цитированием
  #4 (permalink)  
Старый 12.12.2019, 18:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Что-то не понятно?
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2019, 18:56
Аспирант
Отправить личное сообщение для Asew Посмотреть профиль Найти все сообщения от Asew
 
Регистрация: 24.08.2018
Сообщений: 30

вы задаете фиксированный размер массива, а если столбцов больше ?
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2019, 18:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Asew
а если столбцов больше ?
Ну в общем то и это не будет проблемой. Произвольное только число столбцов или и строк может быть больше?
Ответить с цитированием
  #7 (permalink)  
Старый 12.12.2019, 22:05
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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); 
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перебор массива и суммирование свойств у объектов Devero97 Общие вопросы Javascript 6 17.09.2019 12:03
Суммирование значений ячеек таблиц (значения подставляются динамически) andrjuxa_z Общие вопросы Javascript 1 05.01.2016 15:15
Суммирование элементов и вывод результата Adverterio Элементы интерфейса 3 26.11.2015 16:36
Суммирование значений по всем динамически добавленным полям Joliat Общие вопросы Javascript 2 12.02.2014 16:01
Суммирование значений полей BLP Элементы интерфейса 6 05.11.2012 12:43