Автозаполнение токена JQuery с ключом триггера - PullRequest
1 голос
/ 27 сентября 2011

Есть ли хорошее решение для создания текстовых полей, таких как обновления статуса Facebook или Google+ и посты, где допускается автозаполнение токенов после определенных клавиш триггера, таких как "@" или "+"?

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

Кажется, вы можете взломать что-то вместе с bind, но я довольно плохо знаком с JavaScript, поэтому, если есть простое, более элегантное решение, я бы хотел услышать это.

1 Ответ

1 голос
/ 28 сентября 2011

Использование jquery не очень сложно.Сначала установите класс, чтобы идентифицировать ваши поля ввода.Например:

<input type="text" class="autocomplete" name="the_name" />

Затем вы можете просто захватить событие keyup и проверить, какой ключ вам нужен.Например, символ @ имеет код ключа 64

$(".autocomplete").keypress(function(e) {
    if (e.which == 64) {
        // your event handler
    }
});

Вы можете увидеть все коды событий и дополнительную информацию о .keypress () здесь .

Ваш обработчик событий можетиспользуйте функцию jquery.ajax , чтобы запросить у сервера данные для заполнения вашего селектора.

Если вы хотите выполнить автозаполнение после ввода некоторого текста, например, если пользователь пишет "@tyle"Вы должны изменить условие в приведенном выше коде, чтобы получить последнее написанное слово и проверить, имеет ли оно в начале символ @.

...