2012-09-05 178 views
0

SO上的任何地方都只有選擇器通過value,但我想根據它選擇option文本。基於文本的選項選擇器

例如,我有這樣的:

<select id="some-id"> 
    <option>1</option> 
    <option>2</option> 
</select> 

如何獲得文本等於 「2」 的選項?這樣的事情:

jQuery("#some-id option[text='2']") 

但它不適合我,它應該怎麼做?

+0

http://stackoverflow.com/questions/5941874/select-option-by-text-using-jquery – paul

+0

可能重複http://stackoverflow.com/questions/3744289/jquery-how-to-select-an-option-by-text – hsalama

+0

您接受了錯誤的答案。閱讀評論。 – SexyBeast

回答

4

像這樣的東西或許應該工作:

$("#some-id option").filter(function() { return $(this).text() == '2'; }); 
5

您可以使用:contains選擇:

var option = jQuery("#some-id option:contains('2')"); 

這裏有一個working example

+0

但它也會返回值爲122的選項,否? – SexyBeast

+0

@Cupidvogel - 確實如此。對不起,沒有仔細閱讀你的問題。在另一個答案中的「過濾器」方法將很好地做到這一點。 –

+1

無論如何,這對我來說是無關緊要的;) – kamil