Условный раскрывающийся список на javascript
Доброго времени суток.
Нашел на одном сайте условный раскрывающийся список на javascript, переделал, получилась удобная форма заказа. В этой форме клиент выбирает название продукта, после чего появляются или пропадают другие списки для выбора переметров данного продукта. Проблемой является то, что клиент за одни раз может заказать только один вид продукции. Нужно чтобы таких условных списков было 3. При размножении таких списков, работающим является только один.:-? ID списков и названия функций я изменял для каждого списка, все безрезультатно. Буду рад любому совету.:thanks: Код одного условного списка <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(); |
на первый взгляд, вам надо создать другой набор переменных b1,b2, b3, с другими именами, и изменить ф-ции setvaluecontact1() и initcontact_1() чтобы они использовали другой набор переменных
на нулевой же взгляд, вам следует выкинуть этот скрипт, потому что он морально устарел, не говоря о маразматичности кода, даже по тем временам |
Цитата:
|
тогда последуй нулевому совету, и выкинь этот скрипт, написав/найдя гораздо более свежий, и лучший по качеству
у меня копаться в этом скрипте желания нету. это сродни некрофилии |
Gvozd,
вам известны примеры или методы решения данной задачи? |
их полным-полно вокруг.
на форуме тема динамических списков, уже ни раз поднималась. в гугле также. я уж не говорю о том, что это достаточно легко пишется, если приложить усилия |
Часовой пояс GMT +3, время: 07:44. |