Автозаполнение пользовательского интерфейса jQuery - как получить введенное пользователем значение - PullRequest
3 голосов
/ 30 июля 2010

Отказ от ответственности: я прошел через связанные вопросы и не смог найти решения этой конкретной проблемы.

Сценарий таков:

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 30 июля 2010

Для захвата ввода, который в данный момент находится в текстовом поле автозаполнения ввода, вы можете использовать метод select, как в примере удаленного автозаполнения :

    $("#birds").autocomplete({
        source: "search.php",
        minLength: 2,
        select: function(event, ui) {
            log(ui.item ? ("Selected: " + ui.item.value + " aka " + ui.item.id) : "Nothing selected, input was " + this.value);
        }
    });

Если ui.itemимеет значение, это означает, что что-то совпало (и там есть совпавшее значение).

А если вы хотите, чтобы пользователь набрал, используйте this.value.

2 голосов
/ 30 июля 2010

Если честно, я не уверен.Глядя на документацию, событие search должно работать.

Редактировать Это действительно помогает читать документацию.: D

Метод поиска.

Запускает событие поиска, которое при наличии данных отображает предложения;может использоваться кнопкой, подобной selectbox, чтобы открывать предложения при нажатии.Если аргумент значения не указан, используется текущее значение ввода.Может вызываться с пустой строкой и minLength: 0 для отображения всех элементов.

$( ".selector" ).autocomplete({
   search: function(event, ui) {
     $.ajax{
       //Your ajax parameters...

       success: function(data) { //No idea what format your data is in...
         if(data['status'] == false) { //there is no result
           //return your data.
           //Trigger the events you want if the item does no exist.
         }
         else if(data['status'] == true){
            //return data normally.
         }
       }

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