Я пытаюсь заполнить выпадающее поле из файла XML с помощью jQuery. Когда код запускается, он выглядит выполненным по порядку.Populate drop down from XML-код, выполняющийся в неправильном порядке
JQuery:
$("#filterButton").click(function() {
var dropdown = new Array();
$.get('../restaurants.xml', function (xmlFile) {
$(xmlFile).find('restaurant').each(function() {
var found = false;
var $restaurant = $(this);
var type = $restaurant.attr("type");
dropdown.forEach(function(arrayValue){
if(arrayValue == type){
found = true;
}
});
if(found == false){
dropdown.push(type);
}
});
});
$('#potentialRestaruants').append('<select>');
dropdown.forEach(function(arrayValue){
$('#potentialRestaruants').append('<option value="' + arrayValue + '">' + arrayValue + '</option>');
});
$('#potentialRestaruants').append('</select>');
});
Однако код запущен в следующем порядке:
$("#filterButton").click(function() {
var dropdown = new Array();
затем
$('#potentialRestaruants').append('<select>');
dropdown.forEach(function(arrayValue){
$('#potentialRestaruants').append('<option value="' + arrayValue + '">' + arrayValue + '</option>');
});
$('#potentialRestaruants').append('</select>');
});
затем
$.get('../restaurants.xml', function (xmlFile) {
$(xmlFile).find('restaurant').each(function() {
var found = false;
var $restaurant = $(this);
var type = $restaurant.attr("type");
dropdown.forEach(function(arrayValue){
if(arrayValue == type){
found = true;
}
});
if(found == false){
dropdown.push(type);
}
});
});
Почему код запускается в этом порядке и как я могу запустить его в том порядке, в котором я нуждаюсь?