2014-09-13 94 views
0

類的名稱,我有一個非常看起來像這樣得到一個選擇的選項

<select name="platform"> 
    <option class="one-test-one">one</option> 
    <option class="two-test-two">two</option> 
    <option class="three-test-three">three</option> 
</select> 
<div class="clickMe">click</div> 

我試圖獲得所選選項的階級屬性值選擇標籤。這是我在jquery

$('.clickMe').on('click', function() { 
    alert($('select[name="platform"]:selected').attr('class')); 
}); 

警報返回undefined ..我做錯了什麼?

回答

4

selected selector適用於option,不爲select所以

$('select[name="platform"] :selected').attr('class') 

演示:Fiddle

+0

@ arun..so我在看你的code..and所有我缺少之前的空間:?這是全部嗎? – soum 2014-09-13 16:42:50

+0

@soum是...空間使得[後代選擇器](http://api.jquery.com/descendant-selector/)可以在select中查找選項...所以空間改變了整個含義的選擇器 – 2014-09-13 16:43:34

+0

你每天都會學到一些新東西:-)感謝指出這個人:-) – soum 2014-09-13 16:44:25

1

'selected'選擇是optionselect所以試試這個: -

$('select[name="platform"] option:selected').attr('class'); 

編輯:

DEMO

0
$('.clickMe').on('click', function() { 
    alert($('select[name="platform"]').find(':selected').attr('class')); 
}); 

小提琴:http://jsfiddle.net/set1hdhy/

3
<select name="platform"> 
<option class="one-test-one">one</option> 
<option class="two-test-two">two</option> 
<option class="three-test-three">three</option> 
</select> 
<div class="clickMe">click</div> 




$('.clickMe').on('click', function() { 
alert($('select[name="platform"] option:selected').attr('class')); 
}); 

check in fiddle: http://jsfiddle.net/ruapce/o11o1r6k/ 
0

試試這個我測試

$('.clickMe').on('click', function() { 

    console.log($('select option:selected').attr('class')); 
}); 
+0

是的,它的工作原理,但問題是我需要有一個獨特的選擇器,所以在我的情況下,我使用的名稱=平臺 – soum 2014-09-13 17:34:51

+0

所以你可以使用這個 console.log($('select [name =「platform」] option:selected')。attr('class')); – 2014-09-13 17:40:11

+0

是的..這是我最終使用..什麼阿倫實際上建議之前...它的工作..我錯過了那個空間,造成這種麻煩..不知道那個 – soum 2014-09-14 05:23:06

相關問題