JQuery Facebook, например, AutoSuggest, вызванный "@",

Я ищу плагин JQuery (или другой фреймворк), вроде как текстовое поле с сообщением о статусе Facebook.

Что он должен делать:

  • Разрешить ввод текста без использования AutoSuggest (в отличие от обычных блоков AutoSuggest)

  • Показывать AutoSuggest при срабатывании определенного символа, например, "@".

Собственно, он должен работать точно так же, как в FaceBook...:)

Ответ 1

Я бы использовал что-то вроде этого: http://www.codeproject.com/KB/aspnet/Search_SuggestTextBox.aspx

Хорошая вещь об этой библиотеке заключается в том, что она запускается при вводе текста onkeyup. Это означает, что вы можете изменить предоставленную им функцию JS, чтобы проверить правильность последовательности клавиш

Возможно, что-то вроде этого:

var shiftDown=false; //Track if SHIFT was the last key pressed.

function searchSuggest(e) 
{
    var key = window.event ? e.keyCode : e.which;

    if (key==40 || key==38)
    {
        shiftDown=false;
        scrolldiv(key); 
    }
    else if (key == 16) // SHIFT WAS PRESSED
    {
        shiftDown=true;
    }
    else if (key == 50 && shiftDown) // 2 WAS PRESSED
    {
        if (searchReq.readyState == 4 || searchReq.readyState == 0) 
        {
            var str = escape(document.getElementById('txtSearch').value);
            strOriginal=str;
            searchReq.open("GET", 'Result.aspx?search=' + str, true);  
            searchReq.onreadystatechange = handleSearchSuggest;
            searchReq.send(null);
            shiftDown=false; 
        }
    }  
    else 
    {   
        shiftDown=false; 
    }  
}

Ответ 2

Надеемся, что теперь вы (OP) смогли использовать ответ Dutchie432, чтобы создать решение, в котором вы довольствуетесь. Но если вы или кто-либо еще, кто случайно наткнется на это, не имеют или, возможно, ищете надежное, готовое к использованию решение...

... Похоже, Mentionator - именно то, что вы ищете: это плагин jQuery, который позволяет клиентам для создания выделенных ссылок на ( "упоминания" ) на предопределенные объекты в текстовых областях. Этот человек тут же ухаживает:).

В отличие от аналогичных плагинов, Mentionator предоставляет следующие параметры, которые предоставляют параметры, которые, по вашему запросу, позволяют ему работать точно так же, как функция тегов Facebook:

doesRecognizeDelimitedSubstrings: 
    A boolean which, if defined as true, will allow the external value
    of a mention, herein called "mentionExternalValue", to sustain
    modifications so long as the result of each such modification 
    is in mentionExternalValue.split(delimValue)

delimValue: 
    A string, or regular expression representing the set of strings,
    that, given doesRecognizeDelimitedSubstrings === true, delimit
    mentionExternalValue substrings that can also serve as external
    value of the mention if yielded by a modification of
    mentionExternalValue