@sidiqi

Как сравнивать выбранные значения из select form?

Есть несколько селект форм, их количество всегда разное, выглядит так:
<select class="columnval" name="column[]">
        <option value="">Выберите ..</option>
        <option value="code">Артикул</option>
        <option value="brand">Бренд</option>
        <option value="name">Наименование</option>
        <option value="quantity">Количество</option>
        <option value="price">Цена</option>
    </select>

Знаю как сделать, если бы было всегда одинаковое кол-во с определенным id у каждого.
Но как сделать в таком кейсе, например, отобразилось 5 таких форм, выбираем значения, если выбранное значение уже выбрано в одной из форм, нужно вывести alert сообщение?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Narts
При onchange каждого select-a, берем value выбранного option-а и добавляем в массив. Так же, при onchange каждого select-а, проверяем, нет ли ключа в массиве
Если есть, выводим алерт
Ответ написан
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
На вскидку, примерно как-то так:

function alreadySelected(value) {
	return [...document.querySelectorAll('select[name="column[]"]')].some(el => el.value === value)
}

Выбираем все значения со всех селектов, и проверяем есть ли среди них необходимое
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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