2014-07-23 31 views
0

我試圖顯示價格輸入中每個項目的價格,我無法使該函數正常工作。我不知道如何寫字符串或如果我甚至正確地執行該功能。你能幫我麼?謝謝!在輸入文本上顯示數組結果js

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Price Calculation</title> 
</head> 

<body> 
<Label>Choose Item</Label> 
<select onChange="......."> 
    <option>Tomatoes</option> 
    <option>Lettuce</option> 
    <option>Potato</option> 
    <option>Carrots</option> 
    <option>Artichoke</option> 
</select> 
<br/> 
<Label>Price</Label> 
    <input type="text" id="price" /> 
<br/> 
<script type="text/javascript"> 
    var veggy = new Array() 
    veggy ["Tomatoes"] = 5.99 
    veggy ["Lettuce"] = 7.66 
    veggy ["Potato"] = 4.52 
    veggy ["Carrots"] = 2.13 
    veggy ["Artichoke"] = 10.58 

function() 
{ 
    var veggy = document.getElementById("price") 
} 
</script> 
</body> 
</html> 
+0

''

+0

謝謝,已更改 – Yaelix

+0

請不要將更改應用到您的初始問題,因爲其他用戶不會看到您做錯了什麼以及有哪些更正。 – morkro

回答

1

有兩件事情改變這裏:

你會想每一個選擇作爲重點對象,每個售價爲值 - 不是一個數組 調用函數onchange並傳遞通過this

//Make veggy an object 
var veggy = {}; 
veggy["Tomatoes"] = 5.99; 
veggy["Lettuce"] = 7.66; 
veggy["Potato"] = 4.52; 
veggy["Carrots"] = 2.13; 
veggy["Artichoke"] = 10.58; 
select元素

更改selectonChange

<select onChange="getPrice(this);"> 

而且你的函數:

function getPrice(select) { 
    document.getElementById("price").value = veggy[select.value]; 
} 
+0

謝謝,但現在它顯示了veggy的名稱,而不是價格....編輯原始帖子向你展示。謝謝! – Yaelix

+0

@ user3807992 - 您錯過了最後一行--' document.getElementById(「price」)。value = veggy [select.value];' – tymeJV

+0

沒關係!發現我的錯誤。非常感謝你!! – Yaelix

相關問題