Когда дело доходит до оформления элементов формы, разные браузеры имеют разные уровни поддержки.Поскольку IE больше не разрабатывается, а последние обновления были много лет назад, вы обнаружите поведение, которое там просто не работает и никогда не будет.
Теперь ваш код работает в браузерахкоторый поддерживает стиль option
такого рода, он просто всегда устанавливает второй элемент option
, который будет скрыт, потому что вы жестко кодируете 1
в качестве индекса.Вместо этого установите .selectedIndex
из select
, чтобы он не был виден, чтобы вы всегда получали индекс того, что option
выбрано в данный момент.И это будет скрывать последний выбранный параметр от показа при последующем отображении списка, однако select
все равно будет показывать это значение, поэтому вам также придется удалить его.
document.getElementById("mySelect").addEventListener("change", dropdown);
function dropdown() {
this.options[this.selectedIndex].style.visibility = "hidden"; // Hide on the list
this.value = ""; // Hide the new value
}
<form>
<select id="mySelect">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</form>