2010-10-05 28 views
6

需求如下:
我必須從頁面獲取位置字段。從json的動態鍵值中獲取數據

var input= global.input = document.getElementById("Location"); 

從json文件獲取基於輸入和顯示在頁面上的鄰域。

我有一個JSON對象,必須從基於鍵值(位置)的JSON對象篩選數據

var inputLocation=input.value; 

在我的javascript我得到的錯誤,如果我用動態的關鍵。

我能夠得到JSON數組如果我這樣做data.Aspen但我必須從文本字段獲取數據,因此如果我叫data.inputLocation ......它的未來不確定的也可以是不同的

當我使用data.(inputLocation.value)得到以下錯誤:

XML濾波器被應用到非XML值({阿斯:[{ID:

{ 
"Aspen":[ 
{ 
    "ID":"Bellaire", 
    "Name":"Bellaire" 
}, 
{ 
    "ID":"Champions Forest", 
    "Name":"Champions Forest" 
}, 
{ 
    "ID":"Highland Village", 
    "Name":"Highland Village" 
}, 
{ 
    "ID":"Museum District", 
    "Name":"Museum District" 
} 
] 
} 
+0

我無法理解你問題是。你可以嘗試以更簡單的方式解釋你自己......舉一些例子。 – 2010-10-05 11:32:30

+1

Java不是Javascript;) – 2010-10-05 11:34:12

+0

@ Luca Matteis Douglas已經回答了這個問題。其實我從不知道從key.input數據獲取值的語法(inputLocation.value),我用data [inputLocation]和問題解決了。 – AutoMEta 2010-10-05 11:41:02

回答

34

您可以使用類似數組的語法訪問屬性:

data[inputLocation] 

如果inputLocation設置爲"Aspen",這是一樣的這兩條線:

data["Aspen"] 
data.Aspen 
+0

謝謝...得到了數據..我正在尋找這個。 – AutoMEta 2010-10-05 11:35:30

+0

保存了我的一天。謝謝:) – 2017-07-17 06:19:59

+0

如果我們有動態的位置呢?讓我們顯示它可能是數據[名稱] [年齡],其中姓名和年齡都可以是動態的。我們在這種情況下做什麼? – 2017-07-24 20:48:25