我有一個4層的地圖,每層有各種商店的標記。我需要做的是這個。jquery json解析
- 用戶從選擇
- 腳本爭奪店鋪名稱選擇店鋪,然後找到正確的數據從JSON那家商店。
我對腳本應該如何看,但不知道如何正確編寫它有一個大概的想法。
$('#shopselect').change(function() {
$.ajax({
type: "GET",
url: "data.txt",
dataType: "json",
success: function(data) {
var selected = $('#shopselect option:selected').text()
if ($(".layer1:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l1x,
y: shops." + selected + ".l1y
});
} else if ($(".layer2:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l2x,
y: shops." + selected + ".l1y
});
} else if ($(".layer3:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l3x,
y: shops." + selected + ".l1y
});
} else if ($(".layer4:visible").length) {
$("#viewport").mapbox("center", {
x: shops." + selected + ".l4x,
y: shops." + selected + ".l1y
});
}
}
});
json看起來像這樣。
{
shops:{
primark:{
l1x:310,
l1y:132,
l2x:388,
l2y:264,
l3x:530,
l3y:355,
l4x:670,
l4y:450
},
boots:{
l1x:310,
l1y:132,
l2x:388,
l2y:264,
l3x:530,
l3y:355,
l4x:670,
l4y:450
}
}
}
是否有任何人誰可以點我在正確的方向。
x: shops." + selected + ".l1x,
y: shops." + selected + ".l1y
類似的東西是什麼:
x: data.shops[selected].l1x,
y: data.shops[selected].l1y
的JSON是在功能參數數據,所以你需要使用 X:data.shops [選擇] .l1x, Y:data.shops [選擇] .l1y – 2010-03-05 11:39:01
@大衛:ergh,我注意語法,並沒有檢查變量:-(我已經編輯了我的答案;感謝您的評論! – 2010-03-05 11:40:19
謝謝你們,我已經全部工作了。 – Trip 2010-03-07 21:50:07