2011-01-27 227 views

回答

2

編輯:我剛剛注意到你的意圖是通過它的值設置選定的選項。

要做到這一點,這非常簡單。只要做到:

$('#mySelect').val('somevalue'); 

如果您有沒有其他的方法來定位選擇,那麼你可以用我以前的解決方案,然後再調用.val()


$('option[value="somevalue"]').closest('select'); 

它使用attribute-equals-selector(docs)獲得其中value屬性等於你要尋找的值的選項。

然後它使用closest()(docs)方法抓住其最近的<select>祖先。

這種方法的優點是'option[value="somevalue"]'是一個有效的querySelectorAll()(docs)選擇器,所以你會在支持它的瀏覽器中獲得性能提升。

如果存在多個<select>且選項具有該值,則可以將原始選擇器添加到目標選擇中。

$('#mySelect option[value="somevalue"]') 
+0

什麼是尋找最近的選擇點? – Victor 2011-01-27 20:55:58

+0

非常好,謝謝。另外感謝您在測試代碼時進一步闡述! – David 2011-01-27 20:57:27

4

使用這樣的:

$('option[value="somevalue"]').attr('selected', true); 

這樣你不必費心尋找選擇,但是這隻適用,如果是有真正該選項的只是一個實例,或者如果你想所有的人改變。