option.style.display="none" funktioniert nicht in Safari [duplizieren]

7

Dies ist das Beispiel, an dem ich gerade arbeite: Ссылка

HTML:

%Vor%

JS:

%Vor%

Wie Sie sehen, funktioniert es in Chrome, aber es funktioniert nicht in Safari. Was es tun sollte, ist die Option "Ich bin die gewählte" zu verstecken, wenn Sie auf das Dropdown-Menü klicken.

Dies ist ein weiterer Test, den ich gemacht habe: Ссылка

Gleiches HTML, das ist das JS:

%Vor%

Wie auch immer, ich muss eine Option als ausgewählt (aktuell) anzeigen und für den Benutzer ausblenden, wenn das Dropdown-Menü geöffnet wird, damit er sie nicht auswählen kann.

Irgendwelche Vorschläge / Workarounds? Ich sehe keinen Fehler. Was ist los mit Safari? Soll ich den Ansatz ändern? Jquery scheint nicht zu helfen.

EDITS:

Ich muss die Optionen im Dropdown-Menü ausblenden, aber gleichzeitig muss ich diese Option "Wert" als den ausgewählten Wert anzeigen! Zum Beispiel zeigt das "closed" -Dropdown den Wert "I'm THE CHOESEN ONE" an, aber wenn ich auf das Menü klicke und öffne, sind die einzigen sichtbaren Optionen "Hallo, asd, wer, qwe" ..

    
BeNdErR 22.02.2013, 13:39
quelle

1 Antwort

19

Sie können die Anzeige für <option> Elemente in Safari (oder IE) nicht umschalten. Dies ist Teil einer langen und inkonsistenten Tradition, bei der Safari die CSS-Stilfunktionalität für Formularelemente einschränkt, da die visuelle Sprache von interaktiven Elementen mit dem Betriebssystem konsistent sein sollte (kein Grund, die IE-Fehler zu finden).

Sie haben nur die Wahl, sie zu entfernen (und sie später erneut anzuhängen) oder sie auf optnz.disabled = true zu setzen. Sorry für die schlechten Nachrichten!

    
Barney 22.02.2013, 14:03
quelle

Tags und Links