Скрытие элемента при выборе option в select
Здравствуйте (сразу скажу я немного далек от темы js), есть два списка select (первый видимый, второй невидимый), при выборе первой option в первом селекте нужно чтобы второй селект становился видимым. Помогите пожалуйста
<select> <option>От звука</option> <option>В тональности</option> </select> <select> <optgroup label="До"> <option>До𝄫</option> <option>До♭</option> <option>До</option> <option>До♯</option> <option>До𝄪</option> </optgroup> <optgroup label="Ре"> <option>Ре𝄫</option> <option>Ре♭</option> <option>Ре</option> <option>Ре♯</option> <option>Ре𝄪</option> </optgroup> <optgroup label="Ми"> <option>Ми𝄫</option> <option>Ми♭</option> <option>Ми</option> <option>Ми♯</option> <option>Ми𝄪</option> </optgroup> <optgroup label="Фа"> <option>Фа𝄫</option> <option>Фа♭</option> <option>Фа</option> <option>Фа♯</option> <option>Фа𝄪</option> </optgroup> <optgroup label="Соль"> <option>Соль𝄫</option> <option>Соль♭</option> <option>Соль</option> <option>Соль♯</option> <option>Соль𝄪</option> </optgroup> <optgroup label="Ля"> <option>Ля𝄫</option> <option>Ля♭</option> <option>Ля</option> <option>Ля♯</option> <option>Ля𝄪</option> </optgroup> <optgroup label="Си"> <option>Си𝄫</option> <option>Си♭</option> <option>Си</option> <option>Си♯</option> <option>Си𝄪</option> </optgroup> </select> |
<select>
<option>От звука</option>
<option>В тональности</option>
</select>
<select>
<optgroup label="До">
<option>До𝄫</option>
<option>До♭</option>
<option>До</option>
<option>До♯</option>
<option>До𝄪</option>
</optgroup>
<optgroup label="Ре">
<option>Ре𝄫</option>
<option>Ре♭</option>
<option>Ре</option>
<option>Ре♯</option>
<option>Ре𝄪</option>
</optgroup>
<optgroup label="Ми">
<option>Ми𝄫</option>
<option>Ми♭</option>
<option>Ми</option>
<option>Ми♯</option>
<option>Ми𝄪</option>
</optgroup>
<optgroup label="Фа">
<option>Фа𝄫</option>
<option>Фа♭</option>
<option>Фа</option>
<option>Фа♯</option>
<option>Фа𝄪</option>
</optgroup>
<optgroup label="Соль">
<option>Соль𝄫</option>
<option>Соль♭</option>
<option>Соль</option>
<option>Соль♯</option>
<option>Соль𝄪</option>
</optgroup>
<optgroup label="Ля">
<option>Ля𝄫</option>
<option>Ля♭</option>
<option>Ля</option>
<option>Ля♯</option>
<option>Ля𝄪</option>
</optgroup>
<optgroup label="Си">
<option>Си𝄫</option>
<option>Си♭</option>
<option>Си</option>
<option>Си♯</option>
<option>Си𝄪</option>
</optgroup>
</select>
<script>
var sel = document.querySelectorAll('select');
sel[0].onchange = function(){
sel[1].style.display = this.selectedIndex ? 'none':'inline-block';
};
</script>
|
Большое спасибо, все работает:dance: . А вы можете объяснить суть работы скрипта, просто еще надо сделать, чтобы при выборе каждой option во втором селекторе появлялась соответствующая картинка. Попытался понять сам, но не понял:blink:
|
с картинкой надо будет немного по другому.
|
Можете написать как? А то весь интернет перерыл, инфы не нашел.
|
<select>
<option>От звука</option>
<option>В тональности</option>
</select>
<select>
<optgroup label="До">
<option>До𝄫</option>
<option>До♭</option>
<option>До</option>
<option>До♯</option>
<option>До𝄪</option>
</optgroup>
<optgroup label="Ре">
<option>Ре𝄫</option>
<option>Ре♭</option>
<option>Ре</option>
<option>Ре♯</option>
<option>Ре𝄪</option>
</optgroup>
<optgroup label="Ми">
<option>Ми𝄫</option>
<option>Ми♭</option>
<option>Ми</option>
<option>Ми♯</option>
<option>Ми𝄪</option>
</optgroup>
<optgroup label="Фа">
<option>Фа𝄫</option>
<option>Фа♭</option>
<option>Фа</option>
<option>Фа♯</option>
<option>Фа𝄪</option>
</optgroup>
<optgroup label="Соль">
<option>Соль𝄫</option>
<option>Соль♭</option>
<option>Соль</option>
<option>Соль♯</option>
<option>Соль𝄪</option>
</optgroup>
<optgroup label="Ля">
<option>Ля𝄫</option>
<option>Ля♭</option>
<option>Ля</option>
<option>Ля♯</option>
<option>Ля𝄪</option>
</optgroup>
<optgroup label="Си">
<option>Си𝄫</option>
<option>Си♭</option>
<option>Си</option>
<option>Си♯</option>
<option>Си𝄪</option>
</optgroup>
</select>
<img id="imgSel" alt="4">
<script>
var sel = document.querySelectorAll('select');
sel[0].onchange = function(){
sel[1].style.display = this.selectedIndex ? 'none':'inline-block';
imgSel.style.display = this.selectedIndex ? 'none':'inline-block';
};
sel[1].onchange = function(){
imgSel.src = 'image/'+this.selectedIndex+'.jpg';
};
</script>
можно вот так сделать, и картинки называть 0.jpg, 1.jpg итд |
|
html'щик, ник у вас для данного форума неудачный, по техническим причинам!!!
|
| Часовой пояс GMT +3, время: 12:59. |