У меня есть функция которая в зависимости от выбранной опции выпадающего списка показывает новый select.
Но возникла проблема, если мы выбрали одну опцию, а затем мы выбираем другой элемент, необходимо скрывать первый select.
Казалось бы добавить в слушатель события 2 строчки (найти элементы с классом show и скрыть их) перед IF
var element=document.getElementsByClassName('show');
for(var i=0; i<element.length; i++)element[i].style.display='block';
Но это не работает, как решить данную проблему?
//ловим событие
if (specialistOzdm) {
specialistOzdm.onchange = function () {
if (specialistOzdm.value == 'массаж') {
show('custom27', 'custom-hidden', 'show')
} else if (specialistOzdm.value == 'плавание') {
show('custom61', 'custom-hidden', 'show')
} else if (specialistOzdm.value == 'электрофорез') {
show('custom60', 'custom-hidden', 'show')
} else if (specialistOzdm.value == 'спектр') {
show('custom64', 'custom-hidden', 'show')
} else if (specialistOzdm.value == 'фотолампа') {
show('custom65', 'custom-hidden', 'show')
} else if (specialistOzdm.value == 'мануальный терапевт') {
show('custom59', 'custom-hidden', 'show')
}
}
}
//функция которая показывает селект в зависимости выбранного в селекте 12.
let show = (idElement, hiddenclass, addClass) => {
$('#' + idElement).closest('.param').removeClass(hiddenclass)
$('#' + idElement).closest('.param').addClass(addClass)
var element = document.getElementsByClassName(addClass);
for (var i = 0; i < element.length; i++) element[1].style.display = 'block';
};