jQuery,按精确值选择下拉项

时间:2014-11-10 16:35:20

标签: jquery jquery-selectors

我在jQuery文档中找到了一个关于如何在下拉菜单中选择项目的代码段。

$(element).find("option:contains(" + value + ")").attr('selected', 'selected');

现在这种作品,除非我有两个相似的菜单项。如果我的菜单包含2,22,222并且我将值设置为2,则将选择最后一个。如何指定完全匹配而不是包含?

3 个答案:

答案 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');
    }
});