Вопрос проверяет понимание выбора подходящего UI-элемента для ввода числовых значений в зависимости от размера диапазона и контекста использования.
При разработке форм часто возникает задача выбора числового значения из диапазона, например, возраста, цены или количества. Использование элемента <select> с большим количеством опций (более 10-15) ухудшает пользовательский опыт: пользователю приходится долго прокручивать список, искать нужное значение, что замедляет взаимодействие. Альтернативой является комбинация <input type="range"> и <input type="number">.
<label for="price">Цена:</label>
<input type="range" id="price" min="0" max="10000" step="100" value="5000">
<input type="number" id="priceValue" min="0" max="10000" step="100" value="5000">
<script>
const range = document.getElementById('price');
const number = document.getElementById('priceValue');
range.addEventListener('input', () => number.value = range.value);
number.addEventListener('input', () => range.value = number.value);
</script>Элемент <select> оправдан, когда количество вариантов невелико (до 10-15) или значения имеют смысловые названия (например, выбор месяца). Для числовых диапазонов с большим количеством шагов select становится неудобным.
Вывод: для выбора числового значения из большого диапазона используйте комбинацию range и числового поля — это улучшает UX, ускоряет ввод и сохраняет точность. Select оставьте для коротких списков с именованными опциями.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию