2010-10-09 89 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将正常工作。任何理由你仍然需要这些数字?