Текстовое поле автозаполнения JQuery - PullRequest
4 голосов
/ 29 мая 2009

Как мне реализовать автозаполнение с помощью JQuery, когда я нажимаю на Textbox, ничего не печатая. String [] вернет предварительно созданный список.

Ответы [ 3 ]

2 голосов
/ 30 мая 2009

Плагин автозаполнения (http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/) - ваш лучший выбор, особенно если вы работаете в приложении AJAXy, поскольку он отправляется на ваш сервер и получает список возможных вариантов в режиме реального времени.

Пример использования:

$("#sometextbox").autocomplete("search.php", {
    width: 260,
    selectFirst: false
});

И тогда search.php может вернуть:

Great Bittern|Botaurus stellaris
Little Bittern|Ixobrychus minutus
American Bittern|Botaurus lentiginosus

Вы также можете динамически генерировать вывод, потому что плагин передает текст, введенный в строку запроса, в параметре 'q'.

В ответ на запуск автозаполнения, ничего не печатая, плагин не поддерживает это, но его довольно просто реализовать хакерским способом:

Плагин подключается к событию keydown (или нажатие клавиши) поля, как показано ниже (строка 92 не минимизированного кода):

$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete",...)

Следовательно, вы можете принудительно запустить автозаполнение, выполнив что-то вроде:

$("#autocompletedInput").click(function() {
    $(this).trigger(($.browser.opera ? "keypress" : "keydown") + ".autocomplete");
}

Который должен вызвать событие. Возможно, вам понадобится передать случайный символьный код в триггер, чтобы он не задавался вопросом, что происходит.

2 голосов
/ 30 мая 2009
<code><pre>'<input type="text"/><div class=displayPanel></div>'

$ jq ('input'). Bind ('click', function () {

$ jq ('. DisplayPanel'). SlideDown ('медленный', function () {

this.text = textarray;

});

});

Я не знаю, если это то, что вам нужно, но.

0 голосов
/ 30 мая 2009

Вы пробовали один из плагинов автозаполнения для jQuery?

т.е. http://plugins.jquery.com/project/js-autocomplete, но есть несколько других.

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