Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   После выбора option смена значения в стиле (https://javascript.ru/forum/misc/76951-posle-vybora-option-smena-znacheniya-v-stile.html)

ch1kag0 04.03.2019 19:58

После выбора option смена значения в стиле
 
Не могу разобраться что я сделал не так
<select id="effectTypes" onChange="StatusSelect()">
		<option disabled selected value> -- select an option -- </option>
		<option id="model1">1</option>
		<option id="model1">2</option>
		<option id="model1">3</option>
	</select>
	<div id="openModal1" class="modalDialog">
		<div>
			<h2>Модальное окно1</h2>
		</div>
		<div id="openModal2" class="modalDialog">
		<div>
			<h2>Модальное окно2</h2>
		</div>
		<div id="openModal3" class="modalDialog">
		<div>
			<h2>Модальное окно3</h2>
		</div>
	</div>

function StatusSelect(){
var selected = $('#effectTypes').find('option[selected]');
if(selected.attr('id') == 'model1'){
  document.getElementById(modalDialog1).style.display = "block";
};
if(selected.attr('id') == 'model2'){
 document.getElementById(modalDialog2).style.display = "block";
};
if(selected.attr('id') == 'model3'){
 document.getElementById(modalDialog3).style.display = "block";
};
};

рони 04.03.2019 20:05

ch1kag0,
попробуйте без id и jquery сделать.

ch1kag0 04.03.2019 20:24

function StatusSelect(){
var selected = $('#effectTypes').find('option[selected]');
if(selected.attr('id') == 'model1'){
 $("#modalDialog1").show()
};
if(selected.attr('id') == 'model2'){
  $("#modalDialog2").show()
};
if(selected.attr('id') == 'model3'){
 $("#modalDialog3").show()
};
};

Вы это имели в виду?
А как без id пока ничего не придумал

рони 04.03.2019 20:37

ch1kag0,
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    .modalDialog{
        display: none;
    }
    .modalDialog.open{
        display: block;
    }

    </style>

    <script>
window.addEventListener("DOMContentLoaded", function() {
var modalDialog = document.querySelectorAll(".modalDialog"), divOpen;
document.querySelector(".effectTypes").addEventListener("change", function() {
if(divOpen) divOpen.classList.remove("open");
divOpen = modalDialog[this.value]
if(divOpen) divOpen.classList.add("open");
})
});
    </script>
</head>

<body>
<select class="effectTypes" >
        <option disabled selected value> -- select an option -- </option>
        <option  value="0">1</option>
        <option  value="1">2</option>
        <option  value="2">3</option>
    </select>
    <div class="modalDialog">
        <div>
            <h2>Модальное окно1</h2>
        </div>
    </div>
     <div class="modalDialog">
        <div>
            <h2>Модальное окно2</h2>
        </div>
    </div>
    <div class="modalDialog">
        <div>
            <h2>Модальное окно3</h2>
        </div>
    </div>

</body>
</html>

ch1kag0 04.03.2019 20:48

Пойду изучать спецификацию, большое спасибо.


Часовой пояс GMT +3, время: 15:07.