jQuery UI Автозаполнение кода не работает с допустимым XML, есть идеи, почему? - PullRequest
0 голосов
/ 31 июля 2010

Использование автозаполнения пользовательского интерфейса jQuery "XML data анализируется один раз".Я проверил канал, и он вышел действительным, и я даже зарегистрировал его с ошибкой (), и я получил ОК 200 для статуса и 4 для состояния готовности (файл XML можно увидеть ниже).

http://www.finalfantasyunion.com/includes/xml/games.xml

Мой код jQuery:

<script>
 $(document).ready(function() {
   $.ajax({
dataType: 'xml',
url: '/includes/xml/games.xml',

success: function(xmlResponse) {
 var data = $('game', xmlResponse).map(function() {
  return {
   name: $('name', this).text(),
   parsed: $('parsed', this).text()
  };
 }).get();

 $("#category").autocomplete({
  source: data,
  minLength: 2,

  select: function(event, ui) {
   alert(ui.item.name);
  }
 });
},

error: function(xmlResponse) {
 console.log(xmlResponse);
}
  })
  });
</script>

Если это имеет какое-либо значение, этот файл, в который загружен вышеуказанный код, выполняется через Ajax (в основном, у меня есть страница, которая имеетdiv, который загружает в PHP, который включает в себя приведенный выше код в верхней части).Но я сомневаюсь, что это как-то связано с этим, поскольку xmlResponse, кажется, выглядит хорошо, просто не могу понять, почему успех: не срабатывает.

1 Ответ

1 голос
/ 31 июля 2010

Проверьте раздел Обзор в документации по плагину :
Локальные данные могут быть простым массивом строк или содержать объекты для каждого элемента в массиве со свойством метки или значения или обоими.

Обратите внимание, что вам нужно иметь свойство label или value в вашем объекте js, чтобы оно отображалось. Итак, попробуйте что-то вроде этого:

return {
    value: $('name', this).text(),
    name: $('name', this).text(),
    parsed: $('parsed', this).text()
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...