Ali Majed HA Ответов: 1

Создание корзины покупок с помощью javascript


привет
Я кодирую корзину системы онлайн-покупок с помощью JavaScript. моя проблема заключается в том, чтобы обновить общую цену, когда количество товара меняется, я не знаю, как это сделать. связанные коды:

HTML:

<div class="product-price" style="margin-left:60px;"></div>

<div class="quantity">
  <button class="plus-btn" type="button" name="button">
      <img src="../img/svg/PlusQ.png" alt="" />
  </button>
   
  <input type="text" name="name" value="1">

  <button class="minus-btn" type="button" name="button">
    <img src="../img/svg/MinusQ.png" alt="" />
  </button>
                            
<div class="total-price">&lt;label>&lt;/label></div>





JS:
$('.minus-btn').on('click', function (e) {
    e.preventDefault();
    var $this = $(this);
    var $input = $this.closest('div').find('input');
    var $totalprice = $this.closest('div').find('lable'); // I have problem with this line
    var value = parseInt($input.val());

    if (value != 1) {
        value = value - 1;
    } else {
        value = 0;
    }

    $input.val(value);
    $totalprice.innerHTML = value * 2; // Testing if Total price works, It Does NOT

});

$('.plus-btn').on('click', function (e) {
    e.preventDefault();
    var $this = $(this);
    var $input = $this.closest('div').find('input');
    var value = parseInt($input.val());

    if (value != 100) {
        value = value + 1;
    } else {
        value = 100;
    }

    $input.val(value);
});


Что я уже пробовал:

на самом деле, я не знаю, как получить доступ к .product-price и .total-price, которые являются элементом "div" до и после текущего "div".

1 Ответов

Рейтинг:
0

F-ES Sitecore

Посмотрите на свою разметку и посмотрите на свой jquery. Есть ли у вас элемент под названием "lable" внутри div? Нет, значит, $totalprice ни к чему не относится. Учитывая, что у вашего div есть класс, вы должны использовать его, чтобы найти его

$totalprice = $(".total-price");


Ali Majed HA

Привет
но относится ли это к ближайшей общей цене? У меня есть погружение с классом. общая цена в каждом ряду.

F-ES Sitecore

Нет, этот код получит все дивы total-price, но вы можете использовать $this.closest (". total-price"), если это лучше соответствует вашим потребностям.

Ali Majed HA

спасибо за ваш ответ, но он не работает. Я думаю, потому что $this находится внутри элемента "div", а. total-price находится вне этого элемента "div".