Я новичок в AJAX и XML. Я застрял на школьном задании ..
Задача состоит в том, чтобы обработать XML-файл, состоящий из 2000 различных мест с именем, названием города и названием округа. и создание выпадающего меню с различными округами, но только один раз.
Файл XML выглядит следующим образом:
<places>
<place>
<Name>Vestby</Name>
<City>Vestby</City>
<County>Akershus</County>
</place>
...
<place>
<Name>Eidsbugarden</Name>
<City>Vang</City>
<County>Oppland</County>
</place>
</places>
Моя функция выглядит так:
function fillElementWithCounty(){
var selectElement = document.getElementById("selectMenu");
var allPlaces = countyXHRobject.responseXML.getElementsByTagName("place");
var prevCounty = "";
selectElement.options[0] = new Option("Choose county...", "chooseCounty", true, false);
for (teller=1; teller < allPlaces.length; teller++){
var county = allPlaces[teller].getElementsByTagName("county")[0].firstChild.nodeValue;
if (county ! = prevCounty ) {
selectElement.options[teller] = new Option(county, county, false, false);
}
prevCounty = county;
}
}
Эта функция показывает каждый округ один раз, но также показывает все «пустые» округа.
Что я делаю не так?
Функция, которая вызывает fillElementWithCounty (), выглядит следующим образом:
function showPlaces(){
countyXHRobject = lagXHRobjekt();
if (countyXHRobject) {
countyXHRobject.onreadystatechange = function() {
if (countyXHRobject.readyState = = 4) {
fillElementWithCounty();
}
}
countyXHRobject.open("GET", "viktigestader.xml");
countyXHRobject.send(null);
}
}