2014-01-16 104 views
4

我想改變所選=選項的文本顏色「選擇」:改變顏色 - jQuery的

<select class="select"> 
     <option value="--">--</option> 
     <option value="2014">2014</option> 
     <option value="2013">2013</option> 
     <option value="2012" selected="selected">2012</option> 
     <option value="2011">2011</option> 
    </select> 

我一直在試圖用CSS,但似乎它不可能:

.select select [selected="selected"]{ 
     color: #2b2b2b; 
    } 

jQuery的任何想法?

回答

6

我一直在試圖用CSS,但似乎它不可能:

因爲你靶向的select標籤,而不是option標籤還,該選擇意味着選擇嵌套在其元素的任何select元素.selectclass

select option[selected] { 
    color: red; 
} 

Demo

您正在使用class這樣你就可以做出這樣

.select option[selected] { 
    color: red; 
} 
+0

它可能是我的瀏覽器,但是當我更改演示中的選定選項時,顏色不會移動到新選擇的選項 – andyb

+0

@andyb如果比您需要使用jQuery的情況,CSS會更改'color'的初始狀態 –

+0

是的我猜這個要求並不清楚它應該是一次性的'selected =「selected」'CSS還是需要動態的。 – andyb

1

你可以這樣做:

$('.select option:selected').css('color','#2b2b2b'); 

,或者如果你想火每次select選項已被改變的情況下,你可以這樣做:

$('.select').change(function() { 
    $(this).find('option:selected').css('color','#2b2b2b'); 
}); 

或只是簡單的CSS:

select option:checked { 
    color: #2b2b2b; 
} 
+0

是':selected'有效嗎?編輯:發現它:http://api.jquery.com/selected-selector/ – CodingIntrigue

3

嘗試

$('.select').change(function() { 
      $(this).find('option:selected').css('background-color', 'red'); 
}); 

改變文本的顏色使用

$(this).find('option:selected').css('color', 'red'); 

FIDDLE

+0

我在蘋果機上的Chrome上試了這個。沒有工作。 –

3

喜歡這個

demo

JS

$('.select').change(function() { 
    $(this).find('option').css('color', '#000000'); 
    $(this).find('option:selected').css('color', '#ff0000'); 
}).trigger('change');