zorro76
@zorro76

Как правильно провести расчет?

Есть три блока с разным количеством транзакций и разной суммой, необходимо для каждой транзакции посчитать стоимость одной. Написал следующее:
$('.translate').each(function(){

        var amount = $('.number').html();
        var cost = $('.price').html();

        var res = amount ? cost / amount : 0;

        $(".price-one").text('$' + res.toFixed(0));

    });

Но в данном случае в price-one для всех трех блоков записывается одно и тоже значение, как исправить? Голова не варит с утра. Помогите.
  • Вопрос задан
  • 130 просмотров
Решения вопроса 2
Exploding
@Exploding
wtf?
Ну так уникализируйте селекторы для результатов, или из цикла вынесите, я не знаю как там оно у вас все устроено, но вы по классу три раза все по кругу перезаписываете в элементах .price-one
Ответ написан
SDmitriyS
@SDmitriyS
Javascript разработчик
$('tr', '.translate').each(function(){
var number = $('.number', $(this)),
		price = $('.price', $(this)),
    total = $('.price-one', $(this)),
    amount = number.length ? parseInt(number.html().replace(/\D/g, '')) : 0,
		cost = price.length ? parseInt(price.html().replace(/\D/g, '')) : 0,
    res = amount ? cost / amount : 0;
	
    (total.length) && total.text('$' + res.toFixed(0));
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
.html() возвращает строки, а Вы далее работаете с ними как с числом не порядок. так что для начала так:
var amount = parseInt($('.number').html());
var cost = parseInt($('.price').html());
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы