Вы можете сделать использование атрибута <select>
элемента onchange
выполнить некоторый Javascript код при каждом изменении в раскрывающемся списке.
<select onchange="myFunction(this)">
(вы видите, что я прошел выпадающий элемент сам в качестве аргумента метода, это просто сделано для удобства)
Вы можете использовать element.options
, чтобы получить все возможные варианты и element.selectedIndex
, чтобы получить индекс в настоящее время выбранный вариант.
function myFunction(dropdown) {
var selectedOption = dropdown.options[dropdown.selectedIndex].value;
}
Вы можете использовать document.getElementById()
для извлечения какой-либо элемент, id
. Представьте себе, что у Вас есть следующие элементы ввода:
<input type="text" id="foo">
<input type="text" id="bar">
, то вы можете получить их следующим образом:
var foo = document.getElementById('foo');
var bar = document.getElementById('bar');
Вы можете использовать element.style.display
, чтобы изменить CSS display
свойство. Значение block
означает show и значение none
означает hide. Теперь сделайте математику:
function myFunction(dropdown) {
var selectedOption = dropdown.options[dropdown.selectedIndex].value;
var foo = document.getElementById('foo');
var bar = document.getElementById('bar');
if (selectedOption == 'spoon') {
foo.style.display = 'none'; // Hide foo.
bar.style.display = 'block'; // Show bar.
} else {
foo.style.display = 'block'; // Show foo.
bar.style.display = 'none'; // Hide bar.
}
}
Чтобы узнать больше о Javascript и HTML DOM, я рекомендую this tutorial.
Другой подход заключается в обработчик событий для изменений в выборе вбить значение имени класса на форме. Затем вы можете контролировать то, что видно в каждом состоянии с помощью CSS. Разумеется, конечно, если есть много вариантов, но это означает, что вы позволяете внутренним функциям браузера выполнять работу DOM. – Pointy
@Pointy: Мы также можем предложить ему jQuery. Просто запустите simple;) – BalusC