@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)
}

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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 22:48
100 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект