je simple menu déroulant comme celui-ci: -Appliquer css DropDown élément option
<select id="fruits">
<option value="-1">Select</option>
<option value="1">Banana</option>
<option value="2">Apple</option>
<option value="3">Grapes</option>
</select>
Je tente de définir un style personnalisé à l'une des options en utilisant la propriété jQuery .css
, mais il ne fonctionne pas comme prévu dans tout IE11 \ Firefox. Ceci est mon code jQuery: -
$("#fruits").change(function() {
$(this).css("background-color", "transparent");
$(this).find('option').css("background-color", "transparent");
var selectedVal = $(this).find('option:selected');
if (selectedVal != "-1")
{
console.log("B4->" + $(this).find('option:selected').css("background-color"));
$(this).find('option:selected').css("background-color", "#BEF781");
console.log("Aftr->" + $(this).find('option:selected').css("background-color"));
}
});
Le problème avec ce code est qu'il met à jour le DOM (je l'ai vérifié en utilisant l'outil de développement & Firebug) mais lorsque je tente de récupérer la valeur de background-color
il donne moi ancienne valeur c'est à dire rgb(51, 153, 255)
au lieu de rgb(190, 247, 129)
ni il met à jour la couleur dans IE11. Auparavant, ce code fonctionnait bien dans IE7, mais je veux que cela fonctionne dans IE11
Que dois-je faire?
P.S. - Cela fonctionne très bien dans JSFiddle, j'ai déjà vérifié cela mais je veux que cela fonctionne dans IE11.
Vous ne pouvez pas sélectionner les options de sélection avec CSS, le style de ces éléments est déterminé par le navigateur. Votre meilleur pari est d'utiliser divs et jQuery pour que les divs agissent comme des options de sélection. – user13286