Зато я не привязывался к DOM - исходил из задачи правки чисто функции
Ко всему прочему - может скрывать и показывать элементы произвольно в зависимости от нужной комбинации( к примеру чекитов, или мультиселектов, (*востребовано для комбинационных, расширяемых пояснений, с много селектами |
Цитата:
|
Цитата:
Поправил:
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<script>
function toggle(val) {
var elemId =['avto','moto','shlemi','furgon_do','gruz_sv'];
function setToddle(a) {
for(var i=0;i<elemId.length;i++) {
var tmp=(!+a[i]) ? 'none':'';
document.getElementById(elemId[i]).style.display=tmp;
}
}
var obj = {
avto: '10000',
moto: '01000',
shlemi: '00100',
furgon_do: '00010',
gruz_sv: '00001',
esly_else: '00'
}
for(var key in obj) {
if(val==key) {
var setArray = obj[key].split('');setToddle(setArray);return;
}
}
var setArray = obj.esly_else.split('');setToddle(setArray);//если соответствует 'else'
}
</script>
</head>
<body>
<form>
<select name="select_left" size="1" id="select_left_id" onChange="toggle(this.value);">
<option value="avto" selected>Автомобили</option>
<option value="moto">Мотоциклы</option>
<option value="shlemi" >Одежда шлемы</option>
<option value="furgon_do">Фургоны, грузовые автомобили до 7,5т</option>
<option value="gruz_sv">Грузовые автомобили свыше 7,5т</option>
</select>
<div id="avto" style="display: block;">avto</div>
<div id="moto" style="display: none;">moto</div>
<div id="shlemi" style="display: none;">shlemi</div>
<div id="furgon_do" style="display: none;">furgon_do</div>
<div id="gruz_sv" style="display: none;">gruz_sv</div>
</form>
</body>
</html>
|
ага спасибо
|
а если допустим выпадающий список убрать и заменить его
ul li id="avto" li id moto будет работать выше написаный скрипт? |
Цитата:
onChange="toggle(this.value); нун писать
ul
li data="avto" onclick="toggle(this.getAttribute('data'))"
li idata="moto
Или просто
ul
li onclick="toggle('avto')"
li onclick="toggle('moto')"
|
у меня на странице два списка с блоками один в другом
<список></список> <блок> <список></список> <блок></блок></блок> и перестало работать js а создал все в точности как тут написано не подскажите в чем проблема? |
Всё это гавно же.
Нормальные люди продумывают всё заранее и пишут соответтвующий css. А потом просто навешивают класс show/hide(в зависимости от подхода). |
мда...
|
| Часовой пояс GMT +3, время: 14:54. |