@VitaliySm

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

Написал вот такой скрипт:
$(document).ready(function() {
  $('.icon-chevron-up').click(function() {
   if ($("#id_price").val()){
      var price = parseFloat($("#id_price").val());
      var new_price = price + price
      console.log(new_price)
      console.log(typeof(price))
      $("#id_price").val(new_price)
    }
  });
  $('.icon-chevron-down').click(function() {
   if ($("#id_price").val()){
      var price = parseFloat($("#id_price").val());
      var new_price = price - price
      console.log(new_price)
      console.log(typeof(price))
      $("#id_price").val(new_price)
    }
  });
 });

проблема в том, что при работе с ценой, не знаю как сохранить исходное значение цены
сейчас выходит, что например была цена 500, я добавил 1, стала 1000, потом добавил еще один, цена стала 2000
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
@iShatokhin
JS developer
Исходную цену храните в атрибуте data-price у блока #id_price.

$(document).ready(function() {
// если не можете проставить атрибут при рендере, то можно сделать так: 
// $("#id_price").data("price", $("#id_price").val());

  $('.icon-chevron-up').click(function() {
   if ($("#id_price").val()){
      var new_price = parseFloat($("#id_price").val()) + parseFloat($("#id_price").data("price"));
      $("#id_price").val(new_price);
    }
  });

  $('.icon-chevron-down').click(function() {
   if ($("#id_price").val()){
      var new_price = parseFloat($("#id_price").val()) - parseFloat($("#id_price").data("price"));
      $("#id_price").val(new_price);
    }
  });
 });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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