Ok, in modo da poter utilizzare jQuery per leggere il class
del selezionato option
quindi impostare che class
come class
del <select>
. Ecco il codice, seguito da un violino ...
CSS
.green {
background-color: green;
}
.orange {
background-color: orange;
}
.pink {
background-color: pink;
}
Jquery
$("#color_me").change(function(){
var color = $("option:selected", this).attr("class");
$("#color_me").attr("class", color);
});
HTML
<select id="color_me" class="">
<option class="green">successful</option>
<option class="orange">process failure</option>
<option class="pink">abandoned</option>
</select>
Ecco il violino: http://jsfiddle.net/DrydenLong/3QUN6/
UPDATE
Per richiesta, Qui è una ripartizione del mio codice di cui sopra:
$("#color_me").change(function(){
Questa linea chiama la funzione quando l'elemento con il id
di "color_me" è cambiato. cioè viene scelta un'opzione dalla lista di selezione.
var color = $("option:selected", this).attr("class");
Questo definisce la variabile color
come ciò che la class
della corrente selezionato option
è. La variabile this
si riferisce all'elemento DOM a cui si fa riferimento nella prima riga. Fondamentalmente, this
assicura che stiamo ottenendo la classe dal <select>
corretto, ovvero lo <select>
, su cui abbiamo appena fatto clic.
$("#color_me").attr("class", color);
});
Questa linea assegna la variabile color
sopra definito come class
dell'elemento con la id
di #color_me
.
fonte
2013-08-06 23:13:32
Penso che sia necessaria la manipolazione di javscript per farlo. – mshsayem
Dovrai applicare anche 'background-style' al tag' '. Per quanto lo faccia dinamicamente, usare JS/Jquery è la soluzione migliore. Sto lavorando a qualcosa ora e pubblicheremo presto ... –
possibile duplicato di [selezione multipla colore di sfondo selezionato | css] (http://stackoverflow.com/questions/14168650/multi-select-box-selected-background-color-css) – KatieK