@maxpisya

Как ограничить счетчик минимальным значением 1 и максимальным 100?

$(document).ready(function() {
    $('.minus.basket-quantity__btn').click(function() {
      $(this).siblings('.basket-quantity__num').html(+$(this).siblings('.basket-quantity__num').html()-1);
      $(this).parents('.content').find('.price .num').html(+$(this).parents('.content').find('.price .num').html()-2830);
    });
    $('.plus.basket-quantity__btn').click(function() {
      $(this).siblings('.basket-quantity__num').html(+$(this).siblings('.basket-quantity__num').html()+1);
      $(this).parents('.content').find('.price .num').html(+$(this).parents('.content').find('.price .num').html()+2830);
    });
  });
  • Вопрос задан
  • 423 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
Math.max(1, Math.min(100, новое значение счётчика))
Ответ написан
Exploding
@Exploding
wtf?
Что вы делаете, люди!!?? Покайтесь!!)))
<input type='number' min='1' max='100'>

А ежели дофига эстет - пожалуйста, с кастомными контролами:
<div class='icon-remove cart-pm'></div>
<input type='number' min='1' max='100' step='1' value='1'>
<div class='icon-add cart-pm'></div>


Но проще даже в onclick-е элемента юзать методы stepUp и stepDown
$(document).on("click", ".cart-pm", function(){
	var input = $(this).siblings("[type='number']");
	if($(this).hasClass("icon-add")) input[0].stepUp();
	else input[0].stepDown();
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
Берите в обработчике клика и проверяйте значение
$(this).siblings('.basket-quantity__num').html()

А вообще, лучше выносить одинаковые куски кода в промежуточные переменные.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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