Вступление #
Кастомизация поля "выбор количества", можно использовать по умолчанию класс .js-quantity-selector
.
Установка #
Пример разметки и инициализации поля.
<input class="js-quantity-selector" type="number" min="0" max="100" step="25">
BasicQuantitySelector.init('.my-quantity-selector');
BasicQuantitySelector.init(document.querySelector('.my-quantity-selector'));
BasicQuantitySelector.init(document.querySelectorAll('.my-quantity-selector'));
// или
BasicQuantitySelector.init(); // по умолчанию инициaлизирует элементы с классом .js-quantity-selector
Так же можно заранее инициализировать с необходимыми параметрами:
BasicQuantitySelector.init(document.querySelector('.my-quantity-selector'), {
'decInner': 'Minus',
'incInner': 'Plus',
'addClass': ['quantity-selector-A', 'quantity-selector-B']
});
Конфигурация #
Настройки, которые указываются при помощи обычных атрибутов.
Название | Тип | Описание |
---|---|---|
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 ). |
Методы #
inputValue() #
Добавить новое значение в селектор.
BasicQuantitySelector.value({
'selector': document.querySelector('.my-quantity-selector'),
'value': 100
});
где в конфигурациях указывается:
Название | Тип | Описание |
---|---|---|
selector |
string /object |
Селектор, которому необходимо добавить значение(по умолчанию js-quantity-selector ). |
value |
number |
Принимает значение в виде числа и которое необходимо добавить в селектор. |
inputClear() #
Очистить селектор от значения.
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);