2016-08-26 5 views
0

Ausgewählte Option css funktioniert nicht in IE10?

$('#inputTest').on('keyup', function() { 
 
    $('#helloSellect option').css({ 
 
    display: "none" 
 
    }); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="inputTest"> 
 
<select id="helloSellect" multiple> 
 
    <option>oye</option> 
 
    <option>ram</option> 
 
    <option>raj</option> 
 
    <option>ban</option> 
 
</select>

Ich möchte die Optionen verstecken, wenn der Benutzer ein beliebiges Wort in Eingabefeld klickt. In Chrome funktioniert es, funktioniert aber nicht im IE. Was ist das Problem und wie kann es gelöst werden?

+0

können Sie versuchen, '.hide()' wie '$ ('# HalloSelect-Option'). Hide();' – guradio

+0

Nein funktioniert nicht. –

Antwort

0

Sie können nicht wirklich Optionen in einem <select> Steuerelement mit CSS "ausblenden". Chrome mag es erlauben, aber sie sind nicht wirklich weg. Die einzige Möglichkeit zum Entfernen von Optionen besteht darin, das Element tatsächlich aus dem DOM zu entfernen.

$('#helloSelect option').on('click', function() { 
 
    $(this).remove(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input id="inputTest"> 
 
<select id="helloSelect" multiple> 
 
    <option>oye</option> 
 
    <option>ram</option> 
 
    <option>raj</option> 
 
    <option>ban</option> 
 
</select>

+0

es funktioniert in Chrom, versuche es jetzt einfach. Aber nicht im IE arbeiten. –

+0

Die Tatsache, dass es in Chrome funktioniert, bedeutet nicht unbedingt, dass es ein guter Weg ist, es zu tun. Unabhängig davon, IE erlaubt es nicht, also müssen Sie das Element entfernen, um es aus der Liste verschwinden zu lassen. – Soviut

+0

Ich habe eine solche Anforderung, gibt es irgendeinen anderen Weg, um es in IE10 zu erreichen. –

1

Ich glaube nicht, dass das display: none wird in allen Browsern unterstützt, soweit ich mich erinnern kann .. Was Sie versuchen können, obwohl, um die Optionen zu deaktivieren, nicht gültig Fügen Sie dann einfach einen Eintrag zu Ihrer CSS hinzu, der angibt, dass deaktivierte Einträge nicht angezeigt werden sollen.

Etwas wie:

$('#helloSellect option').prop({'disabled': true}); 

und dann so etwas zu Ihrem CSS

select option[disabled] { 
    display: none; 
} 

hinzufügen .or nur die Einträge entfernen, wie oben angegeben (es sei denn, Sie werden sie später benötigen).

+0

Der Code in der Frage versucht bereits, CSS zu verwenden, um die Option (en) auszublenden. – nnnnnn