Javascript.RU

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

Условный раскрывающийся список на javascript
Доброго времени суток.

Нашел на одном сайте условный раскрывающийся список на javascript, переделал, получилась удобная форма заказа. В этой форме клиент выбирает название продукта, после чего появляются или пропадают другие списки для выбора переметров данного продукта.

Проблемой является то, что клиент за одни раз может заказать только один вид продукции. Нужно чтобы таких условных списков было 3. При размножении таких списков, работающим является только один. ID списков и названия функций я изменял для каждого списка, все безрезультатно.
Буду рад любому совету.

Код одного условного списка
<html>  
<head>
<title> spisok</title>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">   
</head>
<body>
<center> 
<table  >
 <tr>
  <td>
  <FORM name=frm1 id=frm1 ACTION="mail_form_2.php" METHOD="POST" > 
<select name="menu1" onChange="setvaluecontact1();"> 
<option value="empt"> </option>
<option value='1'>животные1
<option value='2'>фрукты1
<option value='3'>конфеты1
</select>
 </td> </tr>
 <tr><td id=animal>   
<select name=""> 
<option selected value=''> 
 <option value='2'>кот
 <option value='2'>собака
 <option value='2'>хомяк
</select> 
 </tr>  
 </td>
  <tr>
 <td id=fruit>  
 <select name=""  > 
<option selected value=''> 
 <option value='2'>апельсин
 <option value='2'>мандарин
 <option value='2'>банан
</select> </td>  
  </tr>
  <tr><td id=candy>  
 <select name=""  > 
<option selected value=''> 
 <option value='2'>кара-кум
 <option value='2'>белочка
 <option value='2'>ням-ням
 </td>
  </tr>
</table> 
 </form> 
 <script type="text/javascript" language="JavaScript" src="contact_1.js"></script>  
 
</body>
</html>


contact_1.js
if (window.navigator.userAgent.indexOf ("Opera") >= 0 || window.navigator.userAgent.indexOf ("Gecko") >= 0){
	ua = 'Netscape';
}else{
	ua = 'Explorer';
}
document.frm1.menu1.focus();
claerdisabled=false;

b1=['animal']
b2=['fruit'];
b3=['candy'];

 
function show(ar){
	if (ua=='Explorer'){
		document.getElementById(ar[0]).style.display='block';
	}else{
		document.getElementById(ar[0]).style.display='table-row';
	}
}

function hidde(ar){
	document.getElementById(ar[0]).style.display='none';
}

function setvaluecontact1(){
	claerdisabled=false;
	if (document.frm1.menu1.selectedIndex==1){
	 	show(b1);
		hidde(b2);
		hidde(b3);
		claerdisabled=true;
	}else if (document.frm1.menu1.selectedIndex==2){
	     hidde(b1); 
		 show(b2);
		 hidde(b3);
		 hidde(b4);
		claerdisabled=true; 
	}
	else if (document.frm1.menu1.selectedIndex==3){
	      hidde(b1); 
		  hidde(b2);
		 show(b3);
		claerdisabled=true; 
	}
	 
	initcontact_1();
}
function initcontact_1(){
	if(claerdisabled){
		document.frm1.add.disabled=false;
	}else{
		for(i=1;i<=4;i++){
			b='b'+i;
			b=eval(b);
			hidde(b);
		}
		document.frm1.add.disabled=true;
	}
}

initcontact_1();
Ответить с цитированием
  #2 (permalink)  
Старый 04.02.2010, 15:52
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

на первый взгляд, вам надо создать другой набор переменных b1,b2, b3, с другими именами, и изменить ф-ции setvaluecontact1() и initcontact_1() чтобы они использовали другой набор переменных
на нулевой же взгляд, вам следует выкинуть этот скрипт, потому что он морально устарел, не говоря о маразматичности кода, даже по тем временам
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2010, 16:23
Новичок на форуме
Отправить личное сообщение для hizer Посмотреть профиль Найти все сообщения от hizer
 
Регистрация: 04.02.2010
Сообщений: 3

Сообщение от Gvozd Посмотреть сообщение
на первый взгляд, вам надо создать другой набор переменных b1,b2, b3, с другими именами, и изменить ф-ции setvaluecontact1() и initcontact_1() чтобы они использовали другой набор переменных
Сразу так и сделал - не помогло.
Ответить с цитированием
  #4 (permalink)  
Старый 04.02.2010, 16:31
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

тогда последуй нулевому совету, и выкинь этот скрипт, написав/найдя гораздо более свежий, и лучший по качеству
у меня копаться в этом скрипте желания нету. это сродни некрофилии
Ответить с цитированием
  #5 (permalink)  
Старый 04.02.2010, 16:57
Новичок на форуме
Отправить личное сообщение для hizer Посмотреть профиль Найти все сообщения от hizer
 
Регистрация: 04.02.2010
Сообщений: 3

Gvozd,
вам известны примеры или методы решения данной задачи?
Ответить с цитированием
  #6 (permalink)  
Старый 04.02.2010, 17:15
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

их полным-полно вокруг.
на форуме тема динамических списков, уже ни раз поднималась.
в гугле также.
я уж не говорю о том, что это достаточно легко пишется, если приложить усилия
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Раскрывающийся список, например регионы и города по ним serov Элементы интерфейса 5 15.07.2009 09:49
раскрыть список средсвами javascript Ruark Элементы интерфейса 1 30.06.2009 13:40
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43