JQuery Map und JSON - Erste Sub-Array-Elemente
Bin ich mit Hilfe von JQuery Holen-Stadt die Daten von geonames. Mein problem ist, wenn ich zu extrahieren der Wert für sub-array-Elemente bei der Verwendung der JQuery-map-Funktion.
In diesem Beispiel, wenn ich wollen den Wikipedia-link, wie konnte ich das tun?
Habe ich versucht:
wikipedia: Artikel.alternateNames.lang['link']
aber nicht erwarten, dass es wirklich funktionieren würde. Weiß jemand, wer ich zu extrahieren, können die sub-array-Elemente?
Hier sind die bits von code:
JSON-ERGEBNIS
"geonames": [{
"alternateNames": [
{
"name": "Rancho Cucamonga",
"lang": "en"
},
{
"name": "91739",
"lang": "post"
},
{
"name": "http://en.wikipedia.org/wiki/Rancho_Cucamonga%2C_California",
"lang": "link"
}
],
adminCode2": "071",
"countryName": "United States",
"adminCode1": "CA",
"fclName": "city, village,...",
"elevation": 368,
"score": 0.9999999403953552,
"countryCode": "US",
"lng": -117.5931084,
"adminName2": "San Bernardino County",
"adminName3": "",
"fcodeName": "populated place",
JQuery:
$("#city").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function(data) {
response($.map(data.geonames, function(item) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name,
latitude: item.lat,
longitude: item.lng,
//problem here: how to get the value for the alternateNames.lang where lang = link
wikipedia: item.alternateNames.lang['link']
}
}))
}
})
},
Als seitliche Anmerkung, die in der JSON-Ihr fehlt ein Zitat, bevor adminCode2.
Sorry, das kam von Ausschneiden und einfügen von code, da ich nicht möchte, um all die Daten in der post. Auf die eigentlichen Daten, die es gibt.
Sorry, das kam von Ausschneiden und einfügen von code, da ich nicht möchte, um all die Daten in der post. Auf die eigentlichen Daten, die es gibt.
InformationsquelleAutor Frank | 2010-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen...
Aber wenn Sie wollte, Sie zu suchen...
Ja, ich dachte so viel. Froh, dass es funktionierte.
InformationsquelleAutor BBonifield
Ihre
alternateNames
ist ein array von Objekten, so müssten Sie einen index verwenden, um ein Objekt aus dem array. Sobald Sie das Objekt, das Sie abrufen können, die "lang" - Feld:sollten Sie wieder auf "verbinden". Dies ist unter der Annahme, dass
item
ist die richtige übergeordneten ObjektalternateNames
.InformationsquelleAutor Stephen Watkins
In ein und demselben Unfall finde ich neben lösen:
Stattdessen aufrufen von sub-Elementen
lang
rückgängigmap
können Sie assigment nur das parent-elementwikipedia: item.alternateNames
. Und danach können Sie den Zugriff auf geschachtelte Elemente von Ihnen in das select-Ereignis des autocomplete.Dies ist mein Beispiel:
InformationsquelleAutor FreeVice