, когда пользователь выбирает опцию в окне выбора, запускается новое поле.
Но предполагаемый пользователь меняет свое мнение и выбирает новую опцию, прежнее поле выбора не исчезает.
Как я могусделать «неправильный» выбор - первый выбор - исчезнуть. У меня есть рабочий пример в codepen , чтобы проиллюстрировать проблему.
Когда пользователь принимает решение с помощью «Выбрать опцию», он вызывает функцию hotelchecker, так что появляется второе окно выбора «Опция на основепредыдущий выбор ». Когда он затем пересмотрит свой выбор и снова выберет «Выбрать вариант» - как я могу предотвратить, что у меня есть несколько секунд выбора?
Вот мой HTML:
<div id="selectbox">
<select class="selectstyled" id="change">
<option value="0">Choose Option</option>
<option value="1">Option1</option>
<option value="2">Option2</option>
</select>
</div>
Вот мой JS:
[let changeUse = document.getElementById("change");
changeUse.addEventListener("change", hotelchecker);
function hotelchecker() {
if (changeUse.value == 1) {
document.getElementById("selectbox").insertAdjacentHTML("afterend", `
<div id = "selectbox">
<select class = "selectstyled"
id = "changeHotel">
<option value="0">Option based on previuos choice</option>
<option value="1">Further choice 1</option>
<option value="2">Further choice 2</option>
<option value="3">Further choice 3</option>
</select>
</div>
`)
}
if (changeUse.value == 2) {
document.getElementById("selectbox").insertAdjacentHTML("afterend", `
<div id = "selectbox">
<select class = "selectstyled"
id = "changeHotel">
<option value="0">Option based on previuos choice</option>
<option value="1">Further choice 1</option>
<option value="2">Further choice 2</option>
<option value="3">Further choice 3</option>
</select>
</div>
`)
}
};][1]
Я думал о запуске querySelectorAll "changeHotel
" и если это >0
, чтобы удалить существующий элемент, но я всегда получаю "undefined".