Как создать: каскадные выпадающие списки
- Предыдущая страница Нажмите на спускающийся список
- Следующая страница Спускающийся список в верхнем навигационном меню
Узнайте, как использовать JavaScript для создания каскадных выпадающих списков.
Создайте три выпадающих списка
Создайте три выпадающих списка в HTML-форме.
Второй и третий выпадающие списки будут отображать различные варианты, в зависимости от выбранного значения в родительском выпадающем списке.
Шаг 1 - Добавление HTML:
<form name="form1" id="form1" action="/action_page.php"> Предметы: <select name="subject" id="subject"> <option value="" selected="selected">Выберите предмет</option> </select> <br><br> Темы: <select name="topic" id="topic"> <option value="" selected="selected">Выберите предмет сначала</option> </select> <br><br> Разделы: <select name="chapter" id="chapter"> <option value="" selected="selected">Выберите тему сначала</option> </select> <br><br> <input type="submit" value="Подтвердить"> </form>
第二步 - Добавление JavaScript:
var subjectObject = { "Фронт-энд": { "HTML": ["Ссылки", "Изображения", "Таблицы", "Списки"], "CSS": ["Рамки", "Отступы", "Фон", "Плавающие элементы"] "JavaScript": ["Переменные", "Операторы", "Функции", "Условия"] }, "Back-end": { "PHP": ["Переменные", "Строки", "Массивы"], "SQL": ["SELECT", "UPDATE", "DELETE"] } } window.onload = function() { var subjectSel = document.getElementById("subject"); var topicSel = document.getElementById("topic"); var chapterSel = document.getElementById("chapter"); for (var x in subjectObject) { subjectSel.options[subjectSel.options.length] = new Option(x, x); } subjectSel.onchange = function() { // Очистить списки выбора главы и темы chapterSel.length = 1; topicSel.length = 1; // Показать правильное значение for (var y in subjectObject[this.value]) { topicSel.options[topicSel.options.length] = new Option(y, y); } } topicSel.onchange = function() { // Очистить список выбора главы chapterSel.length = 1; // Показать правильное значение var z = subjectObject[subjectSel.value][this.value]; for (var i = 0; i < z.length; i++) { chapterSel.options[chapterSel.options.length] = new Option(z[i], z[i]); } } }
Связанные страницы
- Предыдущая страница Нажмите на спускающийся список
- Следующая страница Спускающийся список в верхнем навигационном меню