通过使用javascript在数组中搜索关键字来选择下拉列表中的值

时间:2013-04-24 12:13:33

标签: javascript html drop-down-menu

 HTML PART
 <select id="carlist" name="cars">
 <option value="volvo">Volvo</option>
 <option value="fiat">Fiat</option>
 <option value="audi">Audi</option>
 </select>


 JAVASCRIPT PART
 cars=["volvo","fiat","audi"];
 var best = "fiat";
 for (var i=0;i<cars.length;i++)
 {
 if (cars.value == best.value)
 (
  document.getElementById('carlist').selectedIndex= 2;
  }

下拉的最终结果始终是audi,因为最后一行中的.selectIndex为2。我在最后一行做了哪些更改,以便下拉值根据变量“best”而变化?

2 个答案:

答案 0 :(得分:4)

cars=["volvo","fiat","audi"];
var best = "audi";
for (var i=0;i<cars.length;i++)
{
  if (cars[i] == best)
  {
    document.getElementById('carlist').selectedIndex= i;
  }
}

JS Fiddle

答案 1 :(得分:1)

试试这个

  var selectobject=document.getElementById("carlist")
    for (var i=0; i<selectobject.length; i++){
    if(selectobject.options[i].value == best)
         ocument.getElementById('carlist').selectedIndex= i;
    }
    } 

将此逻辑写入for循环

cars=["volvo","fiat","audi"];
 var best = "fiat";
 for (var i=0;i<cars.length;i++)
     if (cars[i] == best)
       document.getElementById('carlist').selectedIndex= i;