Я реализовал это пару раз, не так уж сложно достичь достойных результатов, и основная идея, которую я использовал, была ...
1) создать поле ввода.
2) создайте div, расположенный прямо под полем ввода.
3) создать обработчик нажатия клавиш jquery. если набрано более x символов, запрос ajax.
4) перебрать результаты и, если они существуют, добавить результат div в поле результатов.
5) показать окно результатов.
Я могу выкопать пример кода, если хотите. Не уверен, о чем вы говорите с множественным выбором, но вы можете оставить переменную выбранного и изменить цвет результата div, когда на него нажимают, таким образом, многие результаты могут быть выбраны, а затем обработаны позже.