2012-11-22 23 views

cevap

1

Biz document object modelini seçmek için JS kullanabilirsiniz.

$('select').change(function() { 
    $('option').css('background', 'none'); 
    $('option:selected').css('backgroundColor', 'red'); 
}).change() 

<select> 
    <option>1111111</option> 
    <option>222222222</option> 
    <option>33333333</option> 
    <option>44444444</option> 
</select> 

Demo: http://jsfiddle.net/TxbVt/1/

+1

Çoklu seçimlerle çalışmaz :( – t1gor

+0

Bu, benim için birden çok seçim için de işe yaramadı. –

-3

Yapamazsınız. <option> öğesi CSS stilini kabul etmiyor.

JavaScript tabanlı bir alternatif kullanabilirsiniz. Mevcut birçok <select> değiştirme komut dosyası bulunmaktadır.

+1

değil gerçek% 100 korkuyor ... Modern tarayıcılar bu izin veriyoruz ben değilim. FireFox'ta deneyin; ancak çapraz tarayıcı güvenilir değil. – Pebbl

+0

Teşekkür @Diodeus, Aşağıdaki gibi stil için Javascript ile bana yardımcı olabilir misiniz. ** selected {/ * Metin rengi ve yazı tipi ağırlığı, kırmızı ve koyu */ renk: mavi; font-weight: bold; } ** – user9371102

+0

JavaScript, bunu standart bir seçim öğesiyle yapamaz. Bakınız: http://www.jankoatwarpspeed.com/post/2009/07/28/reinventing-drop-down-with-css-jquery.aspx –

0

şu ancak varsayılan seçilmiş şekillendirici çoğu durumda geçersiz kılar, (şekillendirme seçeneği etiketlerine izin tarayıcılar için) çalışmalıdır. Bununla birlikte bu devre dışı bırakmak için bir yol bulmak mümkün olabilir:

css

select option.selected { 
    font-weight: bold; 
    color: red; 
} 

javascript

function highlight_options(field){ 
    var i,c; 
    for(i in field.options){ 
    (c=field.options[i]).className=c.selected?'selected':''; 
    } 
} 

biçimlendirme

<select onchange="highlight_options(this)" multiple="multiple"> 
    <option>One</option> 
    <option>Two</option> 
    <option>Three</option> 
</select> 
+0

'dan bahsettiğiniz gibi çalışmaz Teşekkürler @pebbl, sistem rengi geçersiz kılıyor, http: // jsfiddle.net/rZuYz/ – user9371102

+0

@VicKyAmr Evet, maalesef dediğim gibi. Görünüşe göre, en azından bulduğum kadarıyla bunu kaldıramazsın. Tümü vurgu, seçenek öğesinin bir özelliği olmadığından, üstte bir katmandır. Bununla birlikte, kenarlık ve dolgu gibi, geçersiz kılınmayan stilleri hala etkileyebilirsiniz. Stilleri ve arka plan resimlerini seçilmemiş seçeneklere uygulayarak daha çekici hale getirebilirsiniz. – Pebbl

+0

Bu, FF'de çalışmaz :( – t1gor

-1

Saf CSS burada yardımcı olacaktır:

option:checked 
2
<style> 
    .select2-container--default .select2-results__option[aria-selected=true] { 
     background-color: inherit; 
     color: lightgray; 
    } 
</style> 

blokunun içinde kendi stil ekleyin.

3

Aşağıdaki css yardımıyla kolayca yapabiliriz.

select option:checked{ background: #1aab8e -webkit-linear-gradient(bottom, #1aab8e 0%, #1aab8e 100%); }

İlgili konular