Как реализовать «mustMatch» и «selectFirst» в jQuery UI Autocomplete? - PullRequest
38 голосов
/ 06 апреля 2010

Недавно я перенес несколько своих плагинов для автозаполнения с одного из bassistance на автозаполнение jQuery UI .

Как реализовать "mustMatch" и "selectFirst", используя только обратные вызовы и другие параметры, без изменения самого кода автозаполнения ядра?

Ответы [ 12 ]

0 голосов
/ 22 декабря 2011

Скотт Гонсалес написал расширение selectFirst (а также несколько других) для jQueryUI AutoComplete.

0 голосов
/ 02 июля 2010

Я делаю это немного по-другому, кэширую результаты и очищаю текстовое поле, если число результатов для определенного термина равно нулю:

<script type='text/javascript'>
function init_autocomplete( args )
{
     var resultCache = {};
     var currentRequestTerm = null;

     var closeCallback = function()
     {
         // Clear text field if current request has no results
         if( resultCache[currentRequestTerm].length == 0 )
             $(args.selector).val('');
     };

     var sourceCallback = function( request, responseCallback )
     {
         // Save request term
         currentRequestTerm = request.term;

         // Check for cache hit
         // ...
         // If no cache hit, fetch remote data
         $.post(
             dataSourceUrl,
             { ...  }, // post data
             function( response )
             {
                 // Store cache
                 resultCache[request.term] = response;

                 responseCallback( response );
             }
     };

     $(args.selector).autocomplete({
         close:  closeCallback,
         source: sourceCallback
     });
}
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...