Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.03.2013, 19:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Зато я не привязывался к DOM - исходил из задачи правки чисто функции

Ко всему прочему - может скрывать и показывать элементы произвольно в зависимости от нужной комбинации( к примеру чекитов, или мультиселектов, (*востребовано для комбинационных, расширяемых пояснений, с много селектами

Последний раз редактировалось Deff, 13.03.2013 в 19:12.
Ответить с цитированием
  #12 (permalink)  
Старый 13.03.2013, 19:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Deff
 var setArray = obj.else...
IE мозгов не хватит разобрать этот код )
Ответить с цитированием
  #13 (permalink)  
Старый 13.03.2013, 19:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от danik.js Посмотреть сообщение
IE мозгов не хватит)
Ти прав
Поправил:
<!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>

Последний раз редактировалось Deff, 13.03.2013 в 20:42.
Ответить с цитированием
  #14 (permalink)  
Старый 13.03.2013, 20:42
Интересующийся
Отправить личное сообщение для nurik2120 Посмотреть профиль Найти все сообщения от nurik2120
 
Регистрация: 18.02.2013
Сообщений: 22

ага спасибо
Ответить с цитированием
  #15 (permalink)  
Старый 13.03.2013, 20:48
Интересующийся
Отправить личное сообщение для nurik2120 Посмотреть профиль Найти все сообщения от nurik2120
 
Регистрация: 18.02.2013
Сообщений: 22

а если допустим выпадающий список убрать и заменить его
ul
li id="avto"
li id moto
будет работать выше написаный скрипт?
Ответить с цитированием
  #16 (permalink)  
Старый 13.03.2013, 20:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от nurik2120
будет работать выше написаный скрипт?
Тады не будет передаваться
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')"

Последний раз редактировалось Deff, 13.03.2013 в 20:53.
Ответить с цитированием
  #17 (permalink)  
Старый 15.04.2013, 16:09
Интересующийся
Отправить личное сообщение для nurik2120 Посмотреть профиль Найти все сообщения от nurik2120
 
Регистрация: 18.02.2013
Сообщений: 22

у меня на странице два списка с блоками один в другом

<список></список>
<блок>
<список></список>
<блок></блок></блок>
и перестало работать js а создал все в точности как тут написано не подскажите в чем проблема?
Ответить с цитированием
  #18 (permalink)  
Старый 15.04.2013, 16:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,497

Всё это гавно же.
Нормальные люди продумывают всё заранее и пишут соответтвующий css.
А потом просто навешивают класс show/hide(в зависимости от подхода).
__________________
29375, 35
Ответить с цитированием
  #19 (permalink)  
Старый 15.04.2013, 17:28
Интересующийся
Отправить личное сообщение для nurik2120 Посмотреть профиль Найти все сообщения от nurik2120
 
Регистрация: 18.02.2013
Сообщений: 22

мда...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка и объеснение скрипта Diferen404 Общие вопросы Javascript 4 11.02.2013 16:02
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Как уменьшить размер фотографии при выводе??? PAMAC Серверные языки и технологии 4 24.08.2010 19:37
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03