2011-10-12 20 views
5

Tablo hücresinde bir selektör var. Tablo satırında bir renk var, bu yüzden CSS kullanarak, açılır menünün arka planını background-color:inherit; kullanarak aynı renge dönüştürebilirim. Bununla birlikte, tüm seçenekler ile kutunun rengini değiştirir.Sadece seçilen seçeneğin rengini değiştirin

Seçilen seçeneğin rengini, yalnızca jQuery'nin yardımıyla CSS'de değilse değiştirmek mümkün müdür?

+2

Bize html ve css gösterebilir misiniz? Fyi ... stil seçme kutuları çok zor! –

+2

Muhtemelen hayır, hayır; tarayıcılar, 'select' öğelerinin stiline sınırlı erişime sahip gibi görünüyor. –

cevap

4

herşey Bunu denemek gerekir :) jQuery ile mümkündür:

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

Ve burada bir live demo

olduğunu

Umut bu yardımcı olur!

+0

Canlı demo çalışmıyor Chrome/OSX –

+0

Ronn'un cevabı etkin olmayan ve tıklandığında ve genişletildiğinde seçili öğeyi hesaba katar. – Ohiovr

0

Bunu jQuery ile yapabilmeniz gerekir. Ben (David Thomas'ın yorumunu bakınız) yanlış olabilir, ama deneyebilirsiniz:

$("option[value='myValue']").css('background-color', 'red'); 
2

Önce SELECT öğesinin arka plan rengini istediğim şekilde ayarlayarak, tüm seçenekler o renkle sonuçlandı. Sonra tüm seçenekleri belirli bir renk şeması yaptım. Son olarak, seçilen seçeneği SELECT öğesine aynı renk şemasında yaptım, böylece seçenek açılır listede aynı rengi gösterir.

$.each($('select'), function(i,v) { 

    theElement = $(v); 
    theID = theElement.attr('id'); 

    // Set the SELECT input element to green background with white text 

    theElement.css('background-color', 'green'); 
    theElement.css('color', 'white'); 

    // Set all the options to another color (note transparant will show the green) 

    $('#'+theID).find('option').css('background-color', 'white'); 
    $('#'+theID).find('option').css('color', 'black'); 

    // Finally set the selected option to the same values as the SELECT element 

    $('#'+theID).find('option:selected').css('background-color', 'green'); 
    $('#'+theID).find('option:selected').css('color', 'white'); 
}); 
+1

cevabı 12 Ekim 2011'den beri oradaydı! Ayrıca kabul edildi. – Ozzy

İlgili konular