Динамическая подпорка (как в поисковиках)
Здравствуйте! Помогите пожалуйста прийти к наилучшему решению.
На странице есть поле ввода, в которое пользователь вводит название улицы. Нужно сделать так, чтобы пользователь вводил буквы и с каждой буквой ему предлагались наиболее подходящие варианты улиц. Я это представляю себе следующим образом: - в верстке под инпутом делаем скрытый слойХ - на input вешаем "onKeyPress", в обработчике считываем строку, которая уже введена в поле. Используем метод load() из jQuery для получения max = N количества подходящих улиц. динамически создаем N блочных элементов и помещаем их в слойХ. В обработчике "onKeyPress" предумотрим возможность определения нажатия стрелок вверх/вниз. В зависимости от того, нажаты они или нет - выделяем тот или иной блочный элемент в слоеХ. |
Если грамотно реализовывать, то слишком большой нагрузки на сервер не будет.
Грамотно-не первый взгляд это: 1)хорошая база с правильными индексами. 2)хорошие запросы, запрашивающие только нужную инфу, без лишних плюшек 3)ну и запрашивать инфу только когда это реально надо. То есть не на onkeypress, а спустя некоторое время после последнего из них во время быстрого набора пользователю все арвно не нужно автодополнение. а вот, как задумался, стоит подсказать |
load из jQuery
load из jQuery - подходящий выбор для данной задачи?
|
Цитата:
только ответьте на этот вопрос, пожалуйста вот в этой статье все доступные для JS способы общения с сервером Самым распространенным, и применяемым является XMLHTTPRequest load базируется на нем PS очень рекомендую, прежде чем браться за jQuery, выучить чистый JavaScript |
с load ... .
В силу своего опыта встречался пока только с load
Поэтому и спрашиваю |
Цитата:
jQuery всего лишь дает вокруг него красивую обертку. Зная, как работает JS, вы будете понимать, примерно, как работают методы jQuery почитайте для начала статью затем, гляньте справку по jQUery, и посмотрите какие разнообразные обертки вокруг AJAX он предоставляет выбирайте любую, по вкусу и необходимости |
Обычно поисковики выдают запросы других пользователей и в первую очередь ваши собственные. Поэтому актуально думаю добавть таблицу(ы) в которой будут храниться запросы пользователей. Так же туда не стоит пихать длинные запросы, достаточно например из 3х слов и не более. и делать запросы ко всему этому, а не к общей базе поисковика.
Это позволит избежать лишней нагрузки на серв и ускорит сам процесс |
load из jQuery
Gvozd
Спасиб за ссылку, почитаю как будет время Запоминается язык все же лучше на боевых проектах. Geddar спасибо за идею |
вроде сделал эту подпорку, но блин запарка:
браузер запоминает данные, которые я уже вводил в это поле и поверх предлагает свои похожие варианты. Как заставить браузер не кешировать содержимое этого поля? |
autocomplete="off"
|
Часовой пояс GMT +3, время: 12:50. |