Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   снятие заблокированных option в select (https://javascript.ru/forum/dom-window/76018-snyatie-zablokirovannykh-option-v-select.html)

olegan4eg88 28.11.2018 19:03

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

Цель: нажатие "Кнопка 3" блокировалось всех кроме 2 3 и 5 option в select.
<div class="group">
    <label class="primary">
        <input data-select="3" type="button">Кнопка 1</label>
    <label class="primary">
        <input data-select="4" type="button">Кнопка 2</label>
    <label class="primary">
        <input data-select="5" type="button">Кнопка 3</label>
</div>
<select id="select">
    <option value="1">Выбор пункта 1</option>
    <option value="2">Выбор пункта 2</option>
    <option value="3">Выбор пункта 3</option>
    <option value="4">Выбор пункта 4</option>
    <option value="5">Выбор пункта 5</option>
    <option value="6" checked>Выбор пункта 6</option>
</select>

<script>
    document.querySelectorAll('.group')[0].addEventListener('click', function (e) {
        var elem = e.target;
        if (elem.hasAttribute('data-select')) {
            let select = document.querySelector('#select');
            select.value = elem.getAttribute('data-select');

            let options = document.querySelectorAll('#select option');
            
            if (select.value == 4) {
                options.forEach(el => el.disabled = false);
            }
            else options.forEach(el => el.disabled = (el.value !== select.value ? true : false));
        }
      select.dispatchEvent(new Event('change'));
    });
</script>


Часовой пояс GMT +3, время: 18:52.