2011-10-12 18 views
5

मेरे पास एक टेबल सेल में बैठे चयनकर्ता हैं। तालिका पंक्ति में रंग होता है, इसलिए सीएसएस का उपयोग करके मैं background-color:inherit; का उपयोग कर ड्रॉप-डाउन की पृष्ठभूमि को उसी रंग में बदल सकता हूं, हालांकि, यह सभी विकल्पों के साथ पूरे बॉक्स का रंग बदलता है।चयनित विकल्प का रंग बदलें केवल

क्या केवल चयनित विकल्प का रंग बदलना संभव है, अगर jQuery के साथ शायद सीएसएस के साथ नहीं है?

+2

क्या आप हमें अपना एचटीएमएल और सीएसएस दिखा सकते हैं? Fyi ... स्टाइल चुनने के बक्से बहुत मुश्किल है! –

+2

शायद नहीं, नहीं; प्रतीत होता है कि ब्राउज़र में 'चयन' तत्वों की स्टाइल तक सीमित पहुंच है। –

उत्तर

4

सब कुछ jQuery के साथ :) आप इस प्रयास करना चाहिए संभव है:

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

और यहाँ एक live demo

है

उम्मीद है कि मदद करता है!

+0

लाइव डेमो क्रोम/ओएसएक्स –

+0

के लिए काम नहीं करता है रोने का जवाब चयनित आइटम को ध्यान में रखता है जब निष्क्रिय होता है और जब क्लिक किया जाता है और विस्तार किया जाता है। – Ohiovr

0

आपको jQuery के साथ ऐसा करने में सक्षम होना चाहिए। मैं गलत हो सकता है (देखें डेविड थॉमस 'टिप्पणी), लेकिन कोशिश:

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

मैं इसे SELECT तत्व के पृष्ठभूमि रंग को पहले सेट करके करने में सक्षम था जिसके परिणामस्वरूप मैं सभी रंगों को रंग देता था। तब मैंने सभी विकल्पों को एक विशिष्ट रंग योजना बनाई। आखिरकार मैंने चयनित विकल्प को एक ही रंग योजना को चयन तत्व के रूप में चुना ताकि विकल्प ड्रॉप डाउन सूची में एक ही रंग दिखाता हो।

$.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

उत्तर 12 अक्टूबर 2011 से वहां था! इसके अलावा, यह स्वीकार किया गया था। – Ozzy

संबंधित मुद्दे