Hejsan. Jag har skapat en select-lista med dynamiska options i javascript. Så här: document.Form1.sel.options[0] = new Option('nåt','nåt'); Hur kan man ange att varje enskild option ska ha en css?
The _L
5 svar · 366 visningar · startad av The_L
Hejsan. Jag har skapat en select-lista med dynamiska options i javascript. Så här: document.Form1.sel.options[0] = new Option('nåt','nåt'); Hur kan man ange att varje enskild option ska ha en css?
The _L
Ska du ha en specifik stil för varje option?? Det rekommenderas inte.. För att styla option skriver du
option { color: #333; }
t.ex. :)
Ok, jag förstår att det inte rekommenderas. Jag förklarade nog lite dåligt.
Jag bygger upp en lista av options med javascript beroende på vilken radioruta en användare klickat på. O därför vill jag ju även kunna sätta stylesheet beroende på vilken radioruta som klickats på. För det är ev så att det kommer att användas olika stylesheets.
Vad jag förstår av din lösning så kommer samma stylesheet att användas?
//The_L
Okej. I så fall får du använda dig av document.getElementById och setAttribute och sedan sätta ett attribut till selectelementet du vill "styla". Om du har en dropdownlista som ser ut så här
<select id="test1">
<option>...</option>
<option>...</option>
</select>
så kan du vid onClick i en radioruta anropa denna funktion:
function swapStyle() {
oSelect=document.getElementById("test1");
oSelect.setAttribute("class","en_css-klass");
}
genom att skriva
onClick="swapStyle();"
i radiorutan.
Sedan får du i din CSS skapa klasser med de stilvärden du vill.
You got it? :)
Alternativt fungerar också
oSelect.setAttribute("style","border: solid 1px #333;");
till exempel. :)