option.style.display = „none” nie działa w safari [duplikat]
To pytanie ma już tutaj odpowiedź:
Jak mogę ukryć wybrane opcje za pomocą JavaScript? (Cross browser) 15 odpowiedziOto przykład, nad którym pracuję: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";
Jak widzisz, działa w Chrome, ale nie działa w safari. Powinno się ukryć opcję „JESTEM WYBRANYM JEDNYM” po kliknięciu menu rozwijanego.
To kolejny test, który wykonałem:http://jsfiddle.net/4suwY/11/
Ten sam HTML, to jest 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";
W każdym razie to, co muszę zrobić, to wyświetlić opcję wybraną (bieżącą) i ukryć przed użytkownikiem, gdy menu rozwijane jest otwarte, więc nie może go wybrać.
Wszelkie sugestie / obejście? Nie widzę żadnego błędu. Co jest nie tak z Safari? Czy powinienem zmienić podejście? Jquery wydaje się nie pomagać.
EDYTOWANIE:
Muszę ukryć opcje w menu rozwijanym, ale jednocześnie muszę pokazać tę opcję „wartość” jako wybraną wartość! Na przykład lista rozwijana „zamknięte” pokaże wartość „JESTEM WYBRANYM JEDNYM”, ale jeśli kliknę i otworzę menu, jedyne widoczne opcje to „cześć, asd, wer, qwe” ..