Прайс-калькулятор каждой строки в таблице

Рейтинг: 0Ответов: 1Опубликовано: 19.03.2015

Есть таблица, очень большая, с прайсом услуг.

<table width="100%" border="0" cellspacing="2" cellpadding="2">
<thead>
   <th>Предмет</th>
   <th>В наличии</th>
   <th>Цена</th>
   <th>Кол-во</th>
   <th>Общая цена</th>
 </thead>
<tr>
 <td>ручка гелевая</td>
 <td>40шт</td>
 <td id="cena">5</td>
 <td><input id="colvo"></td>
<td><div id="result"></div></td> 
</tr>
<tr>
<td>ручка шариковая</td>
<td>40шт</td>
<td id="cena">10</td>
<td><input id="colvo"></td>
<td><div id="result"></div></td> 
</tr>
</table>

Как можно подсчитывать суммы отдельных строк, не объявляя при этом для каждой из них свою переменную? Еще раз повторюсь: ОЧЕНЬ большая таблица.

Ответы

▲ 1

Я бы сделал так ( http://jsfiddle.net/alpha9000/Lazu596w/1/ ):

Задать ячейке с суммой контрольный класс и дата атрибут с суммой, примерно так:

<td class="js-summ" data-summ="100">100 рублей</td>

Сделать массив нужных ему строк и посчитать их:

var rows = [1,2,7,9];
var $rows = $('table').find('tr');
var result = 0;

$.each(rows,function(i,e){
    var $target = $rows.eq(e).find('.js-summ');
    var thisResult = parseFloat($target.attr('data-summ'));
    if (typeof(thisResult) === 'number') { result += thisResult; }
});

console.log(result); // result here

P.S. Не забываем, что строчки считаются от нуля. ;)