我試過使用合併和擴展來合併自動完成ajax選項 - jQuery自動完成UI小部件中的數組。他們都工作,但不是他們應該的。在下面使用extend()的代碼中,只有objectB的內容顯示在下拉框中。如果我顛倒了參數的順序,則只會顯示objectA,即顯示第二個參數,但不顯示與第一個參數的組合。當我改變它合併(objectA,objectB)時,只有objectA的內容顯示。使用merge(),只顯示第一個參數,但不是兩者的組合。我如何獲得兩個數組的組合內容? (最終,對象B將是完全不同的,但我只是試圖讓這一概念的工作。)jQuery .extend()和.merge()給Autocomplete裏面的奇數結果
$.ajax(
{
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: geonamesData,
success: function(data)
{ var objectA=null;
var objectB=null;
var objectC=null;
response($.map(data.geonames, function(item)
{ objectA={
label: item.name + (item.adminName2 ? ", " + item.adminName2 : "") + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name + (item.adminName2 ? ", " + item.adminName2 : "") + (item.adminName1 ? ", " + item.adminName1 : ""),
name: item.name
};
objectB={
label: item.name + (item.adminName2 ? ", " + item.adminName2 : ""),
value: item.name + (item.adminName2 ? ", " + item.adminName2 : ""),
name: item.name
};
objectC=$.extend({},objectA, objectB);
return objectC;
}));
}
});
「我如何獲得兩個陣列的組合內容?」正如我所看到的那樣,問題是你*沒有數組。 ;-) –
@ Ben Blank自從我剛剛開始2個月前開始,我不難知道更多的JavaScript,但是你甚至沒有告訴我爲什麼它不是數組。下次,有幫助。 pst解決了我的問題 - 見下文。看看你是否可以成爲一個有用的解決問題的人。 –