держать автозаполнение интерфейса открытым в любое время - PullRequest
11 голосов
/ 05 февраля 2012

Я использую автозаполнение пользовательского интерфейса: здесь

Мне нужно, чтобы автозаполнение всегда было открыто, поэтому оно не должно закрываться при щелчке где-то в теле. Я гуглил это, но ничего не смог найти.

Ответы [ 3 ]

32 голосов
/ 27 ноября 2012

Привет, извините за поздний ответ!

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

Попробуйте это ...

JAVASCRIPT:

$( "#input1" ).autocomplete({
    source: availableTags,
    close : function (event, ui) {
        if (!$("ul.ui-autocomplete").is(":visible")) {
            $("ul.ui-autocomplete").show();
        }
    }
});

DEMO: http://jsfiddle.net/dirtyd77/AJtvJ/

Надеюсь, это поможет!

14 голосов
/ 05 февраля 2012

Вот рабочий пример того, как это сделать: http://jsfiddle.net/4pk3V/

оставьте поле автозаполнения открытым, повторяя поиск при вводе события закрытия:

$( "#input" ).autocomplete({
    source: availableTags,

    close : function (event, ui) {
         val = $("#comment").val();
         $("#input").autocomplete( "search", val ); //keep autocomplete open by 
         //searching the same input again
         $("#input").focus();
        return false;  
    }
});
7 голосов
/ 27 сентября 2013

Существует также опция CSS only:

<style>
    .ui-autocomplete { display: inline-block !important; }
</style>

Пример: http://jsfiddle.net/Monstermensch/G7YYZ/1/


Вы также должны добавить следующий код, чтобы избежать проблем при изменении размера браузера (источник: Изменение положения автозаполнения jQuery UI при изменении размера браузера ):

$(window).resize(function () {
    $("#input1").autocomplete("search");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...