Сейчас очень часто для быстрого, удобного и безошибочного заполнения веб-форм разработчиками используется такая вещь, как автодополнение. Чаще всего это используется в формах поиска, например, для выдачи пользователю наиболее часто запрашиваемых другими пользователями ключевых слов.
Например, вот так это выглядит в гугле:
Согласитесь - удобно!
Принцип работы автокомплита достаточно прост: посетитель вводит данные в текстовое поле, браузер при каждом нажатии клавиши передает через AJAX на сервер уже набранную строку, сервер осуществляет поиск подходящих вариантов, после чего эти варианты передаются обратно пользователю и показываются. Эту систему можно как упрощать, так и усложнять, но суть от этого не изменится.
Разумеется прежде чем начать реализовывать автокомплит самостоятельно, нужно проверить а нет ли готовых средств.
Одна из первых попавшихся мне на глаза ссылок была вот эта jQuery Autocomplete
Дальше я даже не пошел, потому что наверняка, если бы я решил реализовывать автокомплит самостоятельно, мне бы все-равно пришлось использовать jQuery как для передачи данных, так и для визуализации.
Что же нужно сделать, чтобы jQuery Autocomplete заработал:
- Скачать jquery.js и jquery.autocomplete.js, jquery.autocomplete.css. Первый, лучше взять с официального сайта jQuery, а два других есть здесь.
- Добавить эти файлы в хэдер страницы.
- Выбрать элемент (input) для которого будет использоваться автодополнение и присвоить ему id (например ‘’search”).
- Добавить на страницу следующй код:
- jQuery(function($){
- $("#search").autocomplete("autocomplete.php");
- });
-
Файл autocomplete.php может возращать как текст, так и html-код. При этом для нормального функционирование в Internet Explorer нужно обязательно прописать хэдер:
Разумеется этот пример демонстрирует только самый примитивный способ использования автокомплита от jQuery. Так например мне при первом же использовании понадобилось поменять стили в файле css файле, который кстати меня приятно удивил своей простотой, а также разобраться с тем, как передовать дополнительные GET-параметры серверному скрипту. Вот как это выглядит:
- $("#search_region").autocomplete( "index.php",
- {
- extraParams: {module : "hotelpnforms", type : "ajax", func : "region_autocomplete"},
- autoFill:true
- }
- );
Параметр autoFill включает опцию автоматического заполнения поля ввода первым вариантом из возможных.
Более подробная документация по jQuery Autocomplete находится здесь.
Комментариев нет:
Отправить комментарий