Когда вы реализуете автозаполнение, есть два способа приблизиться к нему.
- Приведите все данные заранее.
- Отправлять ajax-запрос на сервер при каждом "keydown / keyup" или "onchange"
Для первого метода есть действительно классный плагин jquery под названием jsonSuggest
и это действительно легко реализовать.
Вам нужен объект json в парах (id, text) следующим образом:
var myData = [{ id : "someId" , text : "someText"} , ... ]
и затем вы вызываете следующий код:
$("#myInput").jsonSuggest({ data : myData , onSelect: function(item){ /* callback code */} })
Это может подходить даже для тысяч объектов. Это даст лучшую производительность, чем несколько вызовов AJAX на сервер.
Если вы предпочитаете использовать плагин jquery-ui, взгляните на пример по умолчанию
Другой метод (множественные запросы ajax) очень похож, но я не думаю, что jsonsuggest поддерживает его. Поддерживается плагином jquery-ui.
Для этого случая вы должны взглянуть на удаленный пример