2012-10-23 14 views
10

seçili değeri için bulabilirsiniz. Birisi bir seçenek seçerse, hangi optgroup'a ait olduğunu nasıl kontrol edebilirim? Örneğin 'ferrari' seçilmişse, hangi optgroup'a ait olduğunu nasıl belirlersiniz?jQuery: Farklı seçenek grupları ile bir açılır menü bir <select> eleman

jQuery veya ham javascript çekinmeden kullanabilirsiniz.

<select name="testSelect"> 
    <optgroup label="fruits"> 
     <option value="apples">Apples</option> 
     <option value="oranges">Oranges</option> 
     <option value="pears">Pears</option> 
    </optgroup> 
    <optgroup label="cars"> 
     <option value="ford">ford</option> 
     <option value="toyota">toyota</option> 
     <option value="ferrari">ferrari</option> 
    </optgroup> 
</select> 
+3

Bekleyin. Bu, seçilen elemanın ebeveyni bulmak kadar önemsiz olabilir. –

cevap

12

kullanabilirsiniz

$('select').change(function() { 
    var selected = $(':selected', this); 
    alert(selected.closest('optgroup').attr('label')); 
});​ 

Burada canlı örneğe bakın saf js olarak:

this.options[this.selectedIndex].parentNode.label 

Tek bir işlev çağrısı ve önyükleme için daha az kod yok. :-)

+0

this.selectedOptions [0] .parentNode.label – lokeshjain2008

+1

@ lokeshjain2008 I OP güvenilir bir yöntem, [kısmen tarayıcılar bir çift desteklenen] bir şey (ister tahmin http://stackoverflow.com/questions/10711767/is- selectedoptions kırık veya). Link için – RobG

+0

teşekkürler. – lokeshjain2008

İlgili konular