2010-11-23 27 views
15

Aşağıdaki HTML'ye baktığımda, 'u with-stamp sınıfı ile seçen bir jQuery seçicisine ihtiyacım var.jQuery selector <select> için <option> kutu

<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 
}); 

cevap

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

Teşekkür ederim, önce işe yaramadığımı düşündüm ama gördüğümü gördüm benim sınıf adımı değiştirdim :-) – FFish

+0

Özür dilerim kötüyüm. Bunu çözdüğüne sevindim :) – PeeHaa

3

kontrol edebilir gereken tek :selected<option> (.hasClass() getiri beri true kümedeki elemanların herhangieğer sınıf var), bunun gibi:

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

PeeHaa's'ı tercih ediyorum çünkü $ (this) – FFish

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

}); 
+0

kullanıyor. '.class' seçicisi var, ama bunun yanında' change' olayı yok '