我試圖使用XML從網站獲取城市列表,然後通過並將每個城市添加到數據列表中,以便在我輸入時會過濾城市在列表中。城市名單的Fixed - AJAX and datalists
例如:
Aleppo
Alexandria
Alger
Almaty
Ankara
Anshan
Baghdad
Baku
Bandung
Bangalore
Bangkok
Barcelona
* [每一個城市的名字是一個新行]
當前HTML:
<div id="namearea">
<h2>City Name:</h2>
<div>
<input id="citiesinput" list="cities">
<datalist id="cities"></datalist>
<button id="search">
Search
</button>
<span class="loading" id="loadingnames">
Loading...
</span>
</div>
</div>
當前JS代碼:
window.onload = function() {
var request = new XMLHttpRequest();
request.onload = processCities;
request.open("GET", "url", true);
request.send();
};
檢查頁面h Firebug顯示沒有任何東西被添加到數據列表中,所以我想知道我做錯了什麼。我也嘗試使用.responseText
而不是.responeXML
,但它沒有任何區別。誰能幫我?編輯] 已取得進展。 我改變了processCities()函數:
function processCities() {
var response = this.responseText;
var city = response.split("\n");
var options = "";
for(var i = 0; i < response.length; i++) {
options += "<option value='"+city[i]+"'>\n";
}
document.getElementById("cities").innerHTML = options;
}
此代碼似乎工作。
感謝您的幫助。
'response'將是一個XML DOM。您需要提供一個響應看起來對我們有幫助的例子。你所展示的不是XML。 –