Вступление #

Кастомизация поля "выбор количества", можно использовать по умолчанию класс .js-quantity-selector.

Установка #

Пример разметки и инициализации поля.

    <input
		class="js-quantity-selector"
		type="number"
		min="0"
		max="100"
		step="25"
	>
	// настройки элемента, все они описаны в разделе "Конфигурация".
	const options = {
		'decInner': 'Minus',
		'incInner': 'Plus',
		'addClass': ['quantity-selector-A', 'quantity-selector-B'],
	};

    BasicQuantitySelector.init('.my-quantity-selector', options);
    BasicQuantitySelector.init(document.querySelector('.my-quantity-selector'), options);
    BasicQuantitySelector.init(document.querySelectorAll('.my-quantity-selector'), options);

    // или

    BasicQuantitySelector.init(); // по умолчанию инициaлизирует элементы с классом .js-quantity-selector

Конфигурация #

Стандартные параметры, которые задаются с помощью обычных атрибутов.

Название Тип Описание
min number Минимальное число для выбора.
max number Максимальное число для выбора.
step number Шаговый интервал для изменения значения, принимает так же числа с плавающей запятой.

data-selector-options #

В значении указываются параметры для гибкой настройки кастомизированного "выбор количества".

	<input
		class="js-quantity-selector"
		data-selector-options='{
			"decInner": "Minus",
			"incInner": "Plus",
			"addClass": ["quantity-selector-A", "quantity-selector-B"]
		}'
		type="number"
		min="0"
		max="100"
		step="25"
	>

Параметры:

Название Тип Описание
decInner string Контент триггера "уменьшения"(decrement).
incInner string Контент триггера "увеличения"(increment).
addClass string/object Дополнительные классы для родительской обёртки(.quantity-selector).

Методы #

value() #

Добавить новое значение в селектор.

	BasicQuantitySelector.value({
		'el': document.querySelector('.my-quantity-selector'), // так же принимает строковое значение
		'value': 100
	});

Где в конфигурациях указывается:

Название Тип Описание
selector string/object Селектор, которому необходимо добавить значение, по умолчанию .js-quantity-selector.
value number Принимает значение в виде числа и которое необходимо добавить в селектор.

clear() #

Очистить селектор от значения.

	// так же принимает строковое значение
	BasicQuantitySelector.clear(
		document.querySelector('.my-quantity-selector')
	);

Прослушивание событий #

Можно прослушать события элемента и получить необходимые параметры.

quantitySelector:change #

Срабатывает при изменении значения поля.

Параметры:

Название Тип Описание
event.detail.element object Элемент, на котором сработало событие.
event.detail.value number Эначение элемента.
event.detail.step number Шаговый интервал для изменения значения.
event.detail.min number Минимальное число для выбора.
event.detail.max number Максимальное число для выбора.
    document.querySelector('.my-quantity-selector').addEventListener('quantitySelector:change', function() {

        console.log(event.detail); // параметры

    }, false);