В настоящее время я использую автозаполнение jQuery UI в моем клиентском интернет-магазине. Проблема в том, что элемент, в котором находится автозаполнение, имеет более высокий z-индекс, чем z-индекс автозаполнения. Я попытался установить z-index автозаполнения вручную, но у меня такое ощущение, что пользовательский интерфейс jQuery перезаписывает это.
На самом деле мой вопрос - это дубликат списка предложений автозаполнения с неправильным z-индексом, как я могу изменить? , но поскольку ответа не было, я подумал о том, чтобы попробовать еще раз.
Любая помощь приветствуется!
Мартейн
javascript
jquery
jquery-ui
autocomplete
Мартейн
источник
источник
!important
Ответы:
Использование
z-index
и!important
.ui-autocomplete { position: absolute; cursor: default;z-index:30 !important;}
источник
Во время поиска я нашел эту тему (http://forum.jquery.com/topic/alternating-style-on-autocomplete). По-видимому, единственный способ изменить стиль поля автозаполнения - это сделать это через javascript:
open: function(){ $(this).autocomplete('widget').css('z-index', 100); return false; },
источник
ui-front
класса +appendTo
виджета): api.jqueryui.com/theming/stacking-elementsИзмените z-index родительского Div, в меню автозаполнения будет z-index + 1 div
источник
appendTo
опцию, чтобы указать разметке меню, куда идти, в противном случае вы можете добавить классui-front
к одному из родительских элементов ввода.В CSS
jQuery UI
:.ui-front { z-index: 9999; }
источник
Попробуйте это, вы можете манипулировать z-index во время выполнения или инициализировать
$('#autocomplete').autocomplete({ open: function(){ setTimeout(function () { $('.ui-autocomplete').css('z-index', 99999999999999); }, 0); } });
источник
Если вы можете установить более высокий z-индекс при автозаполнении ввода текста, то это решение вашей проблемы.
Список параметров автозаполнения пользовательского интерфейса jQuery вычисляет значение z-индекса, беря z-индекс текстового ввода, к которому он прикреплен, и добавляет к этому значению 1.
Таким образом, вы можете указать z-index 999 для ввода текста, автозаполнение будет иметь значение z-index 1000
Взято с http://bugs.jqueryui.com/ticket/5489
<input type="text" class="autocomplete" style="z-index:999;" name="foo">
источник
open: function () { $(this).autocomplete('widget').zIndex(10); }
источник
также посмотрите, куда вы добавляете элемент. Я столкнулся с этой проблемой, когда добавил автозаполнение к внутреннему div, но когда я добавил автозаполнение к тегу body, проблема исчезла.
источник
Если вы используете диалоги jquery-ui, будьте осторожны, чтобы инициализировать диалоги ДО того, как автозаполнение или автозаполнение будут показаны под диалоговым окном.
Посмотрите на этот ответ автозаполнение jquery UI в модальном диалоговом окне пользовательского интерфейса - предложения не отображаются?
источник
В любом случае попробуйте в своем CSS (перед загрузкой скрипта), а не в firebug:
.ui-selectmenu-menu { z-index:100; }
В моем случае это работает и создает z-индексы, например: 100x (например, 1002)
источник
добавить следующее
.ui-autocomplete { z-index:100 !important; }
в файле jquery-custom-ui.css (или уменьшенном, если вы его используете).
источник
Для тех разработчиков, которые все еще используют этот плагин. Попробуй это:
.acResults { z-index:1; }
Для меня было достаточно z-index: 1, установите значение, которое вам нужно в вашем случае.
источник