Defina a cor de fundo da opção Selecionar para a selecionada no JQuery
Acompanhamento desta pergunta:Definindo a cor de fundo das opções selecionadas no JQuery
Eu tenho uma página com várias caixas de seleção, conforme a seguir:
<select name="item-0-status" id="id_item-0-status">
<option value="">---------</option>
<option value="1">Online</option>
<option value="2">Offline</option>
<option value="3">Unknown</option>
</select>
Eles estão sendo gerados automaticamente no django, portanto, não é possível aplicar classes, IDs ou atributos css diretamente às opções. Os elementos selecionados têm IDs de 'item-0-status', 'item-1-status', 'item-2-status' etc.
Estou alocando cores para as opções através do seguinte código JQuery:
$('select[id$=-status][id^=id_item-]').children().each(
function (){
if($(this).val() == 0){
$(this).css('backgroundColor','white');
}
if($(this).val() == 1){
$(this).css('backgroundColor','green');
}
if($(this).val() == 2){
$(this).css('backgroundColor','red');
}
if($(this).val() == 3){
$(this).css('backgroundColor','orange');
}
}
);
Que wo, rks bem.
Também quero que os elementos selecionados tenham a mesma cor de fundo da opção selecionada, o que estou tentando obter usando o seguinte:
$('select[id$=-status][id^=id_item-]').each(
function (){
$(this).css('backgroundColor',$('option:selected',this).css('backgroundColor'));
}
);
No entanto, isso apenas pinta o elemento select em azul (acho que está tirando a cor da propriedade hover em vez do plano de fundo). Isso está no Firefox 3.6.8, que para os fins desta pergunta é o único navegador em questão.
Alguma idéia de como consertar isso?