JqueryUI Autocomplete: autoFocus = true ничего не сделает - PullRequest
4 голосов
/ 01 февраля 2012

У меня есть этот вход с функцией автозаполнения:

.autocomplete({
                    source: "jsonR.php",
                    minLength: 2,
                    select: function( event, ui ) {
                            $(this).val(ui.item.value);
                            llamar('/includes/router.php?nomenu=1&que=view_item&id='+ui.item.id,'router');
                            return false;
                    },
                    autoFocus: true
                    ,open: function() {
                        $('.ui-autocomplete').addClass('searchBox');
                    } 
            })

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

есть идеи почему?

ps: остальное работает нормально, тесто

1 Ответ

3 голосов
/ 01 февраля 2012

Скотт Гонсалес написал для этого плагин selectfirst.

Подробности см. Здесь: http://forum.jquery.com/topic/autocomplete-automatically-select-first-item-in-dropdown-or-add-item-into-drop-down-menu

Вы можете скачать плагин здесь: https://github.com/scottgonzalez/jquery-ui-extensions/blob/master/autocomplete/jquery.ui.autocomplete.selectFirst.js

еще лучше, вот исходный код плагина:)

/*
 * jQuery UI Autocomplete Select First Extension
 *
 * Copyright 2010, Scott González (http://scottgonzalez.com)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 *
 * http://github.com/scottgonzalez/jquery-ui-extensions
 */
(function( $ ) {

$( ".ui-autocomplete-input" ).live( "autocompleteopen", function() {
    var autocomplete = $( this ).data( "autocomplete" ),
        menu = autocomplete.menu;

    if ( !autocomplete.options.selectFirst ) {
        return;
    }

    menu.activate( $.Event({ type: "mouseenter" }), menu.element.children().first() );
});

}( jQuery ));

ПРИМЕЧАНИЕ: чтобы использовать это просто добавьте эту строку в автозаполнение:

selectFirst: true, // auto selects first element
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...