Вывод NaN при подсчете (jQuery)

189
24 января 2019, 22:50

Проблема - при выводе на одной странице 2-х однотипный блоков подсчет не ведется корректно, при выводе только одного блока всё нормально.

Как сделать корректную калькуляцию более одного такого блока, при любых их количествах (могут добавляться через CMS)?

ВОзможно нужна более грамотная выборка в скрипте? Но что то не могу догадаться как это реализовать. Вод собственно код:

var price_5 = $('p.price__5 span').text(); 
var price_4 = parseInt(price_4).toFixed(2); 
 
var price_4 = price_5 * 0.9; 
var res_4 = price_4.toFixed(2); 
var price_3 = price_5 * 0.8; 
var res_3 = price_3.toFixed(2); 
var price_2 = price_5 * 0.7; 
var res_2 = price_2.toFixed(2); 
var price_1 = price_5 * 0.6; 
var res_1 = price_1.toFixed(2); 
 
$('p.price__4 span').html(res_4); 
$('p.price__3 span').html(res_3); 
$('p.price__2 span').html(res_2); 
$('p.price__1 span').html(res_1);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="card__description card__description_right"> 
 
  <div class="card__wrap_form card__wrap_amount"> 
    <div class="card__price"> 
      <p class="price__one price__1">Цена 1 - <span></span> руб.</p> 
      <p class="price__one price__2">Цена 2 - <span></span> руб.</p> 
      <p class="price__one price__3">Цена 3 - <span></span> руб.</p> 
      <p class="price__one price__4">Цена 4 - <span></span> руб.</p> 
      <p class="price__one price__5">Цена 5 - <span>20.00</span> руб.</p> 
      <!-- <p class="price__total">на 990 ₽</p> --> 
    </div> 
  </div> 
   
   <div class="card__wrap_form card__wrap_amount"> 
    <div class="card__price"> 
      <p class="price__one price__1">Цена 1 - <span></span> руб.</p> 
      <p class="price__one price__2">Цена 2 - <span></span> руб.</p> 
      <p class="price__one price__3">Цена 3 - <span></span> руб.</p> 
      <p class="price__one price__4">Цена 4 - <span></span> руб.</p> 
      <p class="price__one price__5">Цена 5 - <span>20.00</span> руб.</p> 
      <!-- <p class="price__total">на 990 ₽</p> --> 
    </div> 
  </div> 
   
</div>

Answer 1

Я вижу проблему с типом данных, в переменной price_5 вы храните string.
var price_5 = parseInt($('p.price__5 span').text()); в данном примере решает проблему.

READ ALSO
Скролл навигация для slick slider

Скролл навигация для slick slider

Есть такой slick слайдер с фильтром и кастомным mCustomScrollbar скроллом

221
Как расширить класс Convert Своими функциями?

Как расширить класс Convert Своими функциями?

Собственно допустим у меня есть некоторые классы

304
что означает =&gt; при создании объекта? [дубликат]

что означает => при создании объекта? [дубликат]

На данный вопрос уже ответили:

194
Валидация IDataErrorInfo для свойств, представляющих собой массивы bool[]

Валидация IDataErrorInfo для свойств, представляющих собой массивы bool[]

В окне WPF имеется множество контролов разных типов в перемешкуКонкретнее: анкета из 25 вопросов, в каждом из которых 10-12 вариантов, отраженных...

186