Автозаполнение jQuery-UI не отображается должным образом, проблема z-index - PullRequest
78 голосов
/ 20 июля 2011

В настоящее время я внедряю автозаполнение jQuery UI в своем клиентском интернет-магазине.Проблема в том, что элемент, в котором находится автозаполнение, имеет более высокий z-индекс, чем z-индекс автозаполнения.Я попытался установить z-index для автозаполнения вручную, но у меня есть ощущение, что jQuery UI перезаписывает это.

На самом деле мой вопрос - дубликат списка предложений autocomplete, неправильный z-index, какМогу ли я изменить? , но поскольку ответа не было, я подумал дать ему еще одну попытку.

Любая помощь приветствуется!

Martijn

Ответы [ 11 ]

96 голосов
/ 20 мая 2012

Используйте z-index и !important

.ui-autocomplete { position: absolute; cursor: default;z-index:30 !important;}  
58 голосов
/ 20 июля 2011

Во время поиска я нашел эту тему (http://forum.jquery.com/topic/alternating-style-on-autocomplete). Видимо, единственный способ изменить стиль поля автозаполнения - это сделать это через javascript:

    open: function(){
        $(this).autocomplete('widget').css('z-index', 100);
        return false;
    },
10 голосов
/ 10 марта 2012

Измените z-индекс родительского Div, меню автозаполнения будет иметь z-индекс div + 1

9 голосов
/ 10 января 2014

В CSS jQuery UI:

.ui-front { z-index: 9999; }
7 голосов
/ 03 мая 2013

Попробуйте, вы можете манипулировать z-index во время выполнения или инициализации

$('#autocomplete').autocomplete({
    open: function(){
        setTimeout(function () {
            $('.ui-autocomplete').css('z-index', 99999999999999);
        }, 0);
    }
});
2 голосов
/ 01 октября 2015
open: function () {
    $(this).autocomplete('widget').zIndex(10);
}
2 голосов
/ 26 сентября 2013

Если вы можете использовать более высокий z-индекс при автозаполнении ввода текста, то это решение вашей проблемы.

Список опций jQuery UI Autocomplete вычисляет значение z-index, беря z-index текстового ввода, к которому он присоединен, и добавляет 1 к этому значению.

Таким образом, вы можете задать z-индекс 999 для ввода текста, автозаполнение будет иметь значение z-index 1000

Взято из http://bugs.jqueryui.com/ticket/5489

<input type="text" class="autocomplete" style="z-index:999;" name="foo">
0 голосов
/ 24 октября 2016

Для тех разработчиков, которые все еще используют этот плагин. Попробуйте это:

.acResults
{
    z-index:1;
}

Для меня было достаточно с z-index: 1, установите значение, которое вам нужно в вашем случае.

0 голосов
/ 12 августа 2013

добавить следующее

.ui-autocomplete
{
    z-index:100 !important;
}

в файле jquery-custom-ui.css (или в уменьшенном, если вы его используете).

0 голосов
/ 15 марта 2013

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

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