Как получить для пересчёта содержимое всех «TD» c классом «.price», не пойму каким макароном?

<table>
 <tr>
  <td class="price">111</td>
  <td class="price">222</td>
  <td class="price">333</td>
  <td class="price">400</td>
  <td class="price">599</td>
 </tr>
</table>


$(document).ready(function() {
$("td.price").each(function(index) {

var zacup = 500;   // ??? содержимое получаемое из всех "td.price" ??? (например указал 500 - работает)

var marja = zacup / 100 * 10;
var check_CNY = zacup + marja;
var curs_CNY = 9.2;
var check_RUB = check_CNY * curs_CNY;
$("td.price").text(check_CNY + " / " + check_RUB);
});
});
  • Вопрос задан
  • 74 просмотра
Решения вопроса 3
mrdubz
@mrdubz
front end developer
var zacup = 0;
$('td.price').each(function(){
    zacup += parseFloat($(this).text());  // Or this.innerHTML, this.innerText
});
Ответ написан
@bpGusar
*spoiler*
Ответ написан
Комментировать
FEMO
@FEMO Автор вопроса
Спасибо всем за подсказки, реализовал с помощью (parseInt), вот так заработало:
$(document).ready(function() {
	$("tr").each(function() {   //производим перебор элементов
		var zacup = parseInt($(this).find(".price").text());   //содержимое получаемое из всех ".price"
		var marja = zacup / 100 * 10;   //процент маржи (10%)
		var check_CNY = zacup + marja;   //отпускная цена в ЮАНЯХ
		var curs_CNY = 9.5;   //биржевой курс РУБЛЯ к ЮАНЮ
		var check_RUB = check_CNY * curs_CNY;   //отпускная цена в РУБЛЯХ
		$(this).find('td.price').text(check_RUB.toFixed(0).replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 '));   //вывод в "td.price" - "ЦЕНА_РУБЛЬ"
	});
});

Вроде всё работает нормально, единственно при выводе "check_RUB" грубо обрезал количество знаков после запятой (оставил только целое число), наверно это можно реализовать как то более правильно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы