我試圖製作一個簡單的應用程序,我有以下想法。我有兩個輸入字段,用戶可以在其中選擇城市,我也有我想要獲得結果的JSON。現在我想要的是,取決於哪些城市的用戶選擇他會得到不同的結果。這是我的對象(JSON):在輸入中使用JSON JavaScript
var cities = {
"newyork": {
"newyork": 0,
"washington": 50,
"sacramento": 100,
"miami": 150
},
"washington": {
"washington": 0,
"newyork": 50,
"sacramento": 100,
"miami": 150
}
};
這是我的HTML:用戶選擇紐約的第一個輸入和薩克拉門託第二:我想實現的東西
<form>
<select id="firstInput" onchange="calculatePrice()">
<option value="newyork">newyork</option>
<option value="washington">washington</option>
<option value="sacramento">sacramento</option>
<option value="miami">miami</option>
</select>
<select id="secondInput" onchange="calculatePrice()">
<option value="newyork">newyork</option>
<option value="washington">washington</option>
<option value="sacramento">sacramento</option>
<option value="miami">miami</option>
</select>
</form>
<div id="output">Output: 500</div>
例。輸出更改爲50.正如你所看到的,我想從JS中的JSON或對象中加載數據。
這是我的JS:
function calculatePrice() {
var x = document.getElementById("firstInput").value;
console.log(x);
var y = document.getElementById("secondInput").value;
console.log(y);
console.log(cities.x.y);
document.getElementById("output").innerHTML = "Output: " + cities.x.y;
}
但是使用這個代碼中,我得到以下錯誤:
Uncaught TypeError: Cannot read property 'y' of undefined
這是令人困惑,因爲當我CONSOLE.LOG(Y),它似乎是工作的罰款。
任何人都可以幫助我嗎? 這裏是JSBin所以你可以有一個更美好的期待: https://jsbin.com/laluzawuda/edit?html,js,console,output
應當'variable.cities [firstcity] [secondcity]',其中'variable'是包含對象的變量,'firstcity'是從所述第一菜單中的值, 'secondcity'是第二個菜單的值。 – Barmar
SO不是免費的編碼服務。你必須嘗試自己解決問題。如果無法正常工作,請發佈您嘗試的內容,我們會幫助您解決問題。 – Barmar
@Barmar我沒有要求解決方案。我問這是否能以我成像的方式實現?此外任何類似問題的例子都會有所幫助。無論如何,我已經做了一些嘗試,我會盡快與他們更新我的問題。 – Zvezdas1989