使用javascript通过文本选择一个选择选项

Gen*_*ano 3 javascript jquery

我有一个选择框和一个字符串,我会按字符串选择一个选项。例如 string="Volvo" 并选择这样的框:

 <select>
  <option value="v1">Volvo</option>
  <option value="v2">Saab</option>
  <option value="v3">Mercedes</option>
  <option value="v4">Audi</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

Pra*_*lan 6

使用:contains()伪类选择器获取包含特定字符串的选项。并用于更新已检查的属性使用prop()方法。

$('option:contains("Volvo")').prop('selected', true);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option value="v1">Volvo</option>
  <option value="v2">Saab</option>
  <option value="v3">Mercedes</option>
  <option value="v4">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)


对于精确匹配使用filter()方法,因为:contains()不检查精确匹配。

$('option').filter(function() {
  // check trimmed text for filtering 
  return $.trim($(this).text()) == "Mercedes";
}).prop('selected', true);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option value="v1">Volvo</option>
  <option value="v2">Saab</option>
  <option value="v3">Mercedes</option>
  <option value="v4">Audi</option>
</select>
Run Code Online (Sandbox Code Playgroud)