У меня есть файл XML, динамически создаваемый из базы данных, в которой каждый элемент имеет идентификатор и имя. В следующем синтаксисе:
<item>
<id>1</id>
<name>FirstName</name>
</item>
... и так далее ...
Я пытаюсь использовать эти значения для автозаполнения jQuery, где идентификатор будет отправлен через форму, когда имя выбрано из автозаполнения.
Я пробовал следующий блок кода (выполняется с кнопки внутри формы):
function listItems(){
var dataString = "";
dataString += $("form#getItemsForm").serialize();
$.ajax({ type: 'GET', url: 'myXML.xml', dataType: 'xml', success: function(xml){
var myList = new Array();
$('restaurant', xml).each(function() {
var myId = Number($(this).find('id').text());
var myName = $(this).find('name').text();
myList[myId] = myName;
});
alert(myList);
$('.listItems').autocomplete({source:myList});
}});
}
Однако это не работает, поскольку идентификаторы начинаются с 1, а массив ищет нулевой индекс, поэтому, когда я предупреждаю myList, он всплывает с FirstName, SecondName (вместо FirstName, SecondName - без начальных запятых).
Я пытался создать массив объектов, но это немного более загадочно для меня, так как мое предупреждение возвращает [объектный объект] для каждого элемента.
Любые указатели были бы полезны. Спасибо!