从下拉列表中选择一个选项元素的文本值

从下拉列表中选择一个选项元素的文本值

问题描述:

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

Given an HTML form element like:

<select id='mydropdown'>
  <option value='foo'>Spam</option>
  <option value='bar'>Eggs</option>
</select>

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

I know I can select the first option with

document.getElementById("mydropdown").value='foo'

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

However, say I have a variable with the value "Spam"; can I select a dropdown item by its text rather than by its value?

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;
  }
}