проблема с автозаполнением JQuery - PullRequest
1 голос
/ 12 июля 2010

Попытка реализовать автозаполнение на основе this

Похоже, это очень просто, но я не могу заставить его работать с вызовом ajax.Не работая, я имею в виду, что не вижу выпадающего списка.Firebug не показывает ошибок.

 <script type="text/javascript">
  var options, a;

  jQuery(function(){
  options = { serviceUrl:'vendors1.cfm', 
              delimiter: /(,|;)\s*/,
              deferRequestBy: 0,
              minChars:2};
 a = $('#query').autocomplete(options); 
  });
 </script>

теперь vendors1.cfm возвращает ';'разделенный список: ABC CONSTRUCTION; ABC CONSTRUCTION; ABC CONSTRUCTION; ABC PLUMBING & ELECTRICAL SUPPLY INC и т. д.

как правильно использовать serviceURL.в каком формате я должен выводить данные?

Ответы [ 2 ]

5 голосов
/ 12 июля 2010

С веб-страницы разработчика:

Веб-страница, предоставляющая данные для автозаполнения Ajax, vendors1.cfm получит запрос GET со строкой запроса как ?query="query string" и должна вернуть данные JSON в следующем формате:

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
 data:['LR','LY','LI','LT']
}
  • query - исходное значение запроса
  • suggestions - массив предлагаемых значений через запятую
  • data (optional) - массив данных, содержащийзначения для функции обратного вызова при выборе данных.
0 голосов
/ 12 июля 2010

Вы должны вернуть действительный JSON. например Если вы ввели «Li» в текстовое поле, вы можете вернуть:

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'] 
}

Разделитель не используется для возвращаемых значений, но он позволяет вводить несколько значений с автозаполнением.

Если вы примете "," в качестве разделителя, вы сможете ввести: "Нидерланды, Ли", и автозаполнение будет работать так, как если бы вы ввели "Ли"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...