2010-11-23 9 views
15

के लिए jQuery चयनकर्ता नीचे दिए गए HTML को देखते हुए, मुझे एक jQuery चयनकर्ता की आवश्यकता है जो with-stamp कक्षा के साथ <option> का चयन करता है।<select> के <option> बॉक्स

<select name="preset_select"> 
    <option selected="selected" value="original">ORIGINAL</option> 
    <option value="large">LARGE</option> 
    <option class="with-stamp" value="medium">MEDIUM</option> 
</select> 

$("select[name=preset_select]").change(function() { 
    // console.log($(this).hasClass("with-stamp")); // all false 
    // console.log($("select[name=preset_select] option").hasClass("with-stamp")); // all true 
}); 

उत्तर

21
$("select[name='preset_select']").change(function() { 
    $(this).children(':selected').hasClass('with-timestamp') 
} 
+0

धन्यवाद, पहले मैंने सोचा कि मैंने काम नहीं किया है, लेकिन मैंने देखा है कि आपने अपना वर्गनाम बदल दिया है :-) – FFish

+0

ओउ क्षमा करें मेरा बुरा। खुशी है कि आपने इसे समझ लिया :) – PeeHaa

3

आप जांच करने की आवश्यकता केवल :selected<option> (.hasClass() रिटर्न के बाद से true अगर सेट में तत्वों की किसी भी वर्ग है) इस तरह,:

$("select[name=preset_select] option:selected").hasClass("with-stamp") 
+1

मैं पीहिया पसंद करता हूं क्योंकि यह $ (यह) – FFish

2
$("select[name=preset_select] option:selected").hasClass('with-stamp').change(function() { 

}); 
+0

का उपयोग करता है। 'क्लास' चयनकर्ता है, लेकिन इसके अलावा, 'परिवर्तन' घटना नहीं है '