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

Всем здрасте, пишу правду плохо знаю js, поэтому и обращаюсь спецам!

В карточке товара есть количество товара, верстку я пихнул скрипт увеличение и уменьшение, есть общая количество товара допустим 4, как правильно до писать в код js что бы, когда пользователь пытается увеличить больше 4, что бы оно не увеличивалось.

Извините если плохо описал свою проблему!

html
<div class="number">
     <span class="minus"><?= Html::img('/web/images/minus.png', ['alt' => '']) ?></span>
     <input type="text" value="1" size="5"/>
     <span class="plus"><?= Html::img('/web/images/plus.png', ['alt' => '']) ?></span>
</div>


сам скрипт
$(document).ready(function() {
            $('.minus').click(function () {
                var $input = $(this).parent().find('input');
                var count = parseInt($input.val()) - 1;
                count = count < 1 ? 1 : count;
                $input.val(count);
                $input.change();
                return false;
            });
            $('.plus').click(function () {
                var $input = $(this).parent().find('input');
                $input.val(parseInt($input.val()) + 1);
                $input.change();
                return false;
            });
        });
  • Вопрос задан
  • 269 просмотров
Решения вопроса 3
Введи дополнительные опции min и max и проверку на соответствие, если проверка не пройдена - return false.

increment () {
      if ((this.value + 1) > max) {
        return;
      }
      this.value += 1
    }
Ответ написан
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
$(document).ready(function() {
		
            $('.minus').click(function () {
              var $input = $(this).parent().find('input');
                var count = parseInt($input.val()) - 1;
                count = count < 1 ? 1 : count;
                $input.val(count);
                $input.change();
                return false;
            });
            $('.plus').click(function () {
              var $input = $(this).parent().find('input');
				var count = parseInt($input.val()) + 1;
				count = count > 4 ? 4 : count;
                $input.val(count);
                $input.change();
                return false;
            });
        });


https://codepen.io/anon/pen/KvjrXw?editors=1111
Ответ написан
Exploding
@Exploding
wtf?
Зачем тебе js... Это не нужно. Просто пиши:
<input type="number" value="1" size="5" min="1" max="4" step="1" required>

Этот элемент поддерживает и дробные числа.
А от js толку ноль.
Всеравно ведь нкжно будет проводить проверку на php перед постом в бд...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы