Скрыть/показать элементы в зависимости от значения select
Добрый день, есть html код:
<select name="select1" id="select1" onchange="change_select(this)"> <option value="">Диагностическая карта</option> <option id="e1" value="Она мне не нужна" >Она мне не нужна</option> <option id="e2" value="У меня есть">У меня есть</option> <option id="e3" value="Мне нужна дигностическая карта">Мне нужна дигностическая карта</option> </select> <select name="select2" id="select2" onchange="change_select(this)" style="display:none"> <option value=21>secet21</option> <option value=22>secet22</option> </select> <select name="select3" id="select3" onchange="change_select(this)" style="display:none"> <option value=31>secet31</option> <option value=32>secet32</option> </select> <select name="select4" id="select4" onchange="change_select(this)" style="display:none"> <option value=41>secet41</option> <option value=42>secet42</option> </select> <select name="select5" id="select5" onchange="change_select(this)" style="display:none"> <option value="">Тип кузова</option> <option value="4200">Седан</option> <option value="4203">Хетчбэк</option> </select> К нему скрипт: function change_select(elem) { var thisId = $(this).attr("id"); switch (thisId) { case ("e1"): document.getElementById('select4').style.display= 'none'; document.getElementById('select3').style.display= 'none'; document.getElementById('select2').style.display = 'inline'; break; case ("e2"): document.getElementById('select4').style.display= 'none'; document.getElementById('select3').style.display= 'inline'; document.getElementById('select2').style.display = 'none'; break; case ("e3"): document.getElementById('select2').style.display = 'none' document.getElementById('select3').style.display= 'none'; document.getElementById('select4').style.display = 'inline'; break; default: break; } } Раньше, заместь switch (thisId) было switch (elem.val), и в первом select option заместь id="e1" было value="e1" Все работало, попытался переделать на ID и вот что-то не получается Подскажите, пожалуйста, как сделать парвильно:) |
Цитата:
Как вариант <!DOCTYPE html> <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=windows-1251' /> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <script src="https://code.angularjs.org/1.3.9/angular.min.js"></script> <script src="https://code.angularjs.org/1.3.9/angular-route.js"></script> --> <style type='text/css'> .test { display: none; } </style> <script type='text/javascript'> $(function(){ $('#select1').change(function(){ $('.test').hide(); var id=this.options[this.selectedIndex].id; $('.'+id).show(); }); }); </script> </head> <body> <select name="select1" id="select1"> <option value="">Диагностическая карта</option> <option id="e1" value="Она мне не нужна" >Она мне не нужна</option> <option id="e2" value="У меня есть">У меня есть</option> <option id="e3" value="Мне нужна дигностическая карта">Мне нужна дигностическая карта</option> </select> <select name="select2" class='test e1'> <option value=21>secet21</option> <option value=22>secet22</option> </select> <select name="select3" class='test e2'> <option value=31>secet31</option> <option value=32>secet32</option> </select> <select name="select4" class='test e3'> <option value=41>secet41</option> <option value=42>secet42</option> </select> </body> </html> |
Цитата:
|
Часовой пояс GMT +3, время: 19:44. |