@Sinner3

Как получить значение input.value по клику на ссылку, сложить его с другим и вывести в span?

Хочу при клике считать сколько товаров отпрвлено в корзину и вывести значение в карточке этого товара (карточек товаров на странице много)
Необходимо по клику на a.buybtn
1)получить значение "value" элемента "input.product-item-amount-field" в рамках одного блока .item
2)Получить значение "span.amount" в рамках одного блока .item если оно задано
3)Сложить значения из пункта 1 и пункта 2
4)Присвоить следющему элементу span после a.buybtn class "vizquantity".
5)Ввывести сумму из 3 пункта в span.amount

Что то у меня не выходит не как присвоить значение как описано в пункте 1
<div>
<input class="product-item-amount-field" type="number" name="quantity" value="1">
        <a class="buybtn" href="javascript:void(0)"> Купить </a> 
        <span>В корзине <span class="amount"></span>&nbsp;меш.</span>
</div>
<div class="item">
<input class="product-item-amount-field" type="number" name="quantity" value="1">
        <a class="buybtn" href="javascript:void(0)"> Купить </a> 
        <span class="vizquantity">В корзине <span class="amount">15</span>&nbsp;меш.</span>
</div>
<div>
<input class="product-item-amount-field" type="number" name="quantity" value="1">
        <a class="buybtn" href="javascript:void(0)"> Купить </a> 
        <span>В корзине <span class="amount"></span>&nbsp;меш.</span>
</div>
n...


$('.buybtn').click(function(){  
var quantity = $(this).closest('.product-item-amount-field').val(); // получаем значение input
quantity = Number.parseInt(quantity); // преобразуем в число quantity
var amount = $(this).next('.amount').text();  // получаем значение в строке
amount = Number.parseInt(amount); // преобразуем в число amount
var result = parseInt(quantity) + parseInt(amount);
$(".amount").text(quantity); // выведем значение переменной quantity
});
  • Вопрос задан
  • 622 просмотра
Решения вопроса 1
twobomb
@twobomb
$('.buybtn').click(function(){  
  var quantity = parseInt($(this).prev().val()); // получаем значение input
  var amount = parseInt($(this).parent().find('.amount').text());  // получаем значение в строке
  var result = quantity + amount;
  if(!isNaN(result))
         $(this).parent().find('.amount').text(result); // выведем значение переменной quantity
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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