Jquery 是否可以根据文本字符串更改所选内容?

Jquery 是否可以根据文本字符串更改所选内容?,jquery,Jquery,我正在尝试根据其文本将“选择”选项设置为“选定” $("#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

我正在尝试根据其文本将“选择”选项设置为“选定”

$("#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>
没有任何更改…我没有可用的月份值部分,只有字符串…任何建议

好的,使用:contains选择器在这里工作:

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

请参阅:

为什么需要这样做?你是从哪里来的?如果你是自己输入的,那么你可以用数字代替val

或者,如果未定义值属性,则选项将返回其内部文本作为其val。也就是说,如果删除value属性,上面的jQuery将可以正常工作。你还需要这些号码吗

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