我在jQuery文档中找到了一个关于如何在下拉菜单中选择项目的代码段。
$(element).find("option:contains(" + value + ")").attr('selected', 'selected');
现在这种作品,除非我有两个相似的菜单项。如果我的菜单包含2,22,222并且我将值设置为2,则将选择最后一个。如何指定完全匹配而不是包含?
答案 0 :(得分:3)
如果您有value
属性,则可以使用该属性。
$(element).find('option[value="' + value + '"]').attr('selected', 'selected');
否则你需要过滤元素。 http://api.jquery.com/filter/
var optionsThatContainValue = $(element).find('option').filter(function() {
return $(this).text().trim() === value;
});
答案 1 :(得分:1)
$(element).find("option[value='"+value+"']").attr('selected', 'selected');
答案 2 :(得分:0)
这应该有效:
$('option').each(function(){
if($(this).text() == value){
$(this).attr('selected','selected');
}
});