在
jquery 1.3.2中,以下工作:
<select id="c"> <option value="325">Red</option> <option value="833">Purple</option> </select> $('#c').val('Red');
并且它将选项更改为选项,并将RED作为其标签.在jQuery 1.4中,这失败了.如何在1.4中获得相同的结果?这是1.3版本中的错误吗?
解决方法
你必须这样做:
$('option:contains("Red")','#c')[0].selected = true
编辑
@Tomalak
如果标签不相互排斥,则需要重写选择器:
$.fn.labselect = function(str) { $('option',this).filter(function() { return $(this).text() == str; })[0].selected = true; return this; }; // Use it like this $('#c').labselect('Red');