option.style.display = «none» не работает в сафари [дубликат]
На этот вопрос уже есть ответ здесь:
Как я могу скрыть выбранные опции с помощью JavaScript? (Кросс-браузер) 15 ответовВот пример, над которым я работаю:http://jsfiddle.net/4suwY/5/
HTML:
<select id="asd">
<option>hello</option>
<option>I'M THE CHOSEN ONE</option>
<option>asd</option>
<option>wer</option>
<option>qwe</option>
</select>
JS:
var sel = document.getElementById("asd");
var optnz = sel.getElementsByTagName("option")[1];
sel.value = optnz.value;
optnz.style.display = "none";
Как вы можете видеть, он работает в Chrome, но не работает в Safari. Что нужно сделать, так это скрыть опцию «Я ИЗБРАННЫЙ ОДИН», когда вы щелкаете по раскрывающемуся меню.
Это еще один тест, который я сделал:http://jsfiddle.net/4suwY/11/
Тот же HTML, это JS:
var sel = document.getElementById("asd");
var opt = document.createElement("option");
opt.innerHTML = "YAYA";
opt.value = "YAYA";
sel.appendChild(opt);
sel.value = "YAYA";
opt.style.display = "none";
В любом случае, мне нужно отобразить выбранный вариант (текущий) и скрыть его при открытии раскрывающегося меню, чтобы он не мог выбрать его.
Любое предложение / обходной путь? Я не вижу никакой ошибки. Что не так с Safari? Должен ли я изменить подход? Jquery, кажется, не помогает.
редактирует:
Мне нужно скрыть опции в выпадающем меню, но в то же время мне нужно показать эту опцию «значение» как выбранное значение! Например, в раскрывающемся списке «закрыто» будет отображаться значение «Я ИЗБРАННЫЙ ОДИН», но если я нажму и открою меню, единственными видимыми параметрами будут «Привет, asd, wer, qwe» ..