2010-10-09 86 views
0

我想設置選擇選項,選定基於其文本是否可以根據文本字符串更改所選內容?

$("#request_showdate_2i").val("November"); 


<select name="request[showdate(2i)]" id="request_showdate_2i"> 
<option value="1">January</option> 
<option value="2">February</option> 
<option value="3">March</option> 
<option value="4">April</option> 
<option value="5">May</option> 
<option value="6">June</option> 
<option value="7">July</option> 
<option value="8">August</option> 
<option value="9">September</option> 
<option value="10" selected="selected">October</option> 
<option value="11">November</option> 
<option value="12">December</option> 
</select> 

沒什麼變化......我沒有提供給我一個月的價值部分,只是串...任何建議

回答

1

好,使用:contains()選擇在這裏工作:

var month = "December"; 
$("#request_showdate_2i > option:contains("+ month +")").attr('selected', true); 

參見:http://www.jsfiddle.net/yijiang/YEXZt/

1
$("#request_showdate_2i").val(
    $("#request_showdate_2i option:contains('October')").attr('value')  
); 
0

爲什麼你需要這樣做?你從哪裏得到「十一月」?如果你自己輸入,那麼你可以使用數字來代替val。

或者,如果沒有定義值屬性,則選項將返回其內部文本作爲其val。也就是說,如果刪除值屬性,那麼上面的jQuery將正常工作。任何理由你仍然需要這些數字?