jQueryUI Autocomplete - размытие поля после выделения - PullRequest
6 голосов
/ 20 мая 2011

Я хотел бы иметь возможность размыть поле после выбора значения в раскрывающемся списке.В настоящее время у меня есть автозаполнение поиска элемента в фокусе.

Вот что у меня есть:

            $("#season").autocomplete({  
            source: function( request, response ) {
                    $.getJSON( "search.asp", {
                        term: request.term,
                        type: 'season'
                        }, response );},
            minLength: 0
        }).focus(function(event, ui){
            $(this).autocomplete("search","");
        });

Ответы [ 3 ]

10 голосов
/ 20 мая 2011

Вы можете использовать метод close для вызова размытия в поле ввода:

$("#season").autocomplete({   
   source: function(request, response){      
   $.getJSON("search.asp", {
         term: request.term,
         type: 'season'
      }, response);
   },
   minLength: 0,
   close: function(){
      $(this).blur();
   }}).focus(function(event, ui){
   $(this).autocomplete("search", "");
});
1 голос
/ 20 мая 2011

У автозаполнения есть событие выбора, которое срабатывает при выборе чего-либо из выпадающего списка. В этом случае вы можете вызвать .autocomplete ('close') на своем входе, чтобы закрыть раскрывающийся список.

$("#season").autocomplete({
   source: function(request, response){
      $.getJSON("search.asp", {
         term: request.term,
         type: 'season'
      }, response);
   },
   minLength: 0,
   select: function(){
      $(this).autocomplete('close');
   }
}).focus(function(event, ui){
   $(this).autocomplete("search", "");
});

Знакомство с документами делает чудеса:)

http://jqueryui.com/demos/autocomplete/

Вкладки под примером (параметры, события, методы и т. Д.) Предоставят вам все, что вам нужно знать.

EDIT:

Попробуйте, у меня работает, но я тестировал только в Chrome, FF3 и IE8.

$("#season").autocomplete({
   source: function(request, response){
      $.getJSON("search.asp", {
         term: request.term,
         type: 'season'
      }, response);
   },
   minLength: 0,
   select: function(){
      $('#season').autocomplete('close').blur();
   }
}).click(function(event, ui){
   $(this).autocomplete("search", "");
});

Как правило, использование щелчка вместо фокуса не является хорошей идеей.

0 голосов
/ 21 февраля 2012

Нашел решение для меня. Вы должны вызвать размытие и закрыть «изменение».

 $("#season").autocomplete({  
            source: function( request, response ) {
                    $.getJSON( "search.asp", {
                        term: request.term,
                        type: 'season'
                        }, response );},
            minLength: 0,
            change: function (event, ui) {
              $(this).autocomplete('close').blur();
            }
        }).focus(function(event, ui){
            $(this).autocomplete("search","");
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...