从下拉列表中按文本值选择选项元素

Woo*_*ble 7 javascript drop-down-menu

给定一个HTML表单元素,如:

<select id='mydropdown'>
  <option value='foo'>Spam</option>
  <option value='bar'>Eggs</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我知道我可以选择第一个选项

document.getElementById("mydropdown").value='foo'
Run Code Online (Sandbox Code Playgroud)

但是,假设我有一个值为"垃圾邮件"的变量; 我可以按文本而不是按值来选择下拉项吗?

Dav*_*ers 29

var desiredValue = "eggs"
var el = document.getElementById("mydropdown");
for(var i=0; i<el.options.length; i++) {
  if ( el.options[i].text == desiredValue ) {
    el.selectedIndex = i;
    break;
  }
}
Run Code Online (Sandbox Code Playgroud)