2013-04-24 31 views
2
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; 
    } 

由於最後一行中的.selectIndex爲2,因此下拉的最終結果始終是audi。我在最後一行做了什麼變化,以便下拉值根據變量「最佳」而變化?通過使用javascript在數組中搜索關鍵字來選擇下拉列表中的值

+0

語法錯誤的地塊 – 2013-04-24 12:16:19

回答

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

+0

+1對於N中你的答案冰比我的回答 – PSR 2013-04-24 12:25:51

+0

+1爲你的太多 – 2013-04-24 12:37:48

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; 
相關問題