Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.06.2021, 23:46
Новичок на форуме
Отправить личное сообщение для kseni Посмотреть профиль Найти все сообщения от kseni
 
Регистрация: 28.06.2021
Сообщений: 1

зависимость от выбора пункта меню js
здравствуйте. столкнулась с данной проблемой. есть форма и поле с выпадающим списком. необходимо организовать так, чтобы от пункта меню зависела дальнейшая информации на форме.
сама форма
<form action="" method="POST">
                <div class="qwestion__block">
                    <label for="">Название теста:</label>
                    <input type="text" name="qwestion" id="qwestion" placeholder="Введите название теста..." required>
                </div>
                <div class="qwestion__block">
                    <label for="">Текст вопроса:</label>
                    <input type="text" name="qwestion" id="qwestion" placeholder="Введите текст вопроса..." required>
                </div>
                <div class="qwestion__block">
                    <label for="">Вид вопроса:</label>
                    <select name="type" id="type" required>
                        <option selected value=""></option>
                        <option value="one">Однозначный</option>
                        <option value="number">Число</option>
                        <option value="text">Слово</option>
                    </select>
                </div>


дальнейшая информация на форма соответно с пунктами выпадающего меню
<div class="variants">
                    <div class="one__block">
                        <div class="answer__item">
                            <input type="radio" class="radio__input" id="radio_1">
                            <input type="text" class="input__input" name="var__answer" id="var__answer" placeholder="Введите вариант ответа на вопрос..." required>
                        </div>
                        <div class="answer__item">
                            <input type="radio" class="radio__input" id="radio_2">
                            <input type="text" class="input__input" name="var__answer" id="var__answer" placeholder="Введите вариант ответа на вопрос..." required>
                        </div>
                        <div class="answer__item">
                            <input type="radio" class="radio__input" id="radio_3">
                            <input type="text" class="input__input" name="var__answer" id="var__answer" placeholder="Введите вариант ответа на вопрос..." required>
                        </div>
                        <div class="answer__item">
                            <input type="radio" class="radio__input" id="radio_4">
                            <input type="text" class="input__input" name="var__answer" id="var__answer" placeholder="Введите вариант ответа на вопрос..." required>
                        </div>
                </div>

                <div class="number__block">
                    <div class="answer__item">
                    <label for="">Вариант ответа:</label>
                    <input type="number" name="qwestion" id="qwestion" placeholder="Введите вариант ответа..." required>
                </div>
                </div>

                <div class="text__block">
                    <div class="answer__item">
                    <label for="">Вариант ответа:</label>
                    <input type="text" name="qwestion" id="qwestion" placeholder="Введите вариант ответа..." required>
                </div>
                </div>


скрипт
<script type="text/javascript">
            document.forms[0].oninput = () => {
            // ищем элемент <select>
            const select = document.querySelector('select')
            // ищем элемент <div class="variants">
            const variants = document.querySelector('.variants');
            // ищем элементы <option>
            const options = select.querySelectorAll('option');
            // собираем значения
            const values = [...options].map(option => option.value);
            // Удаляем все классы из списка классов fruits
            for (const item of values) {
                variants.classList.remove(item);
            }
            // Добавляем класс fruits равную значению value
            //из выбранного элемента в <select>
            variants.classList.add(select.value);
            }
        </script>


что в скрипте не так?
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2021, 08:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

kseni,
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2021, 10:44
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

kseni,
<style>
.variants .one__block,
.variants .number__block,
.variants .text__block {
    display: none;
}
.variants.one .one__block {
    display: block;
}
.variants.number .number__block {
    display: block;
}
.variants.text .text__block {
    display: block;
}
</style>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Как можно сделать при выборе пункта меню что бы появлялась кнопка? Annchousinka Элементы интерфейса 1 30.09.2013 15:38
Открыть слайд (раздел) текущего пункта меню Demath Элементы интерфейса 8 18.07.2012 02:49
Как в общем меню для всех страниц поменять класс определенного пункта в зависимости о phenom Элементы интерфейса 2 08.04.2011 11:09
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48