Показывать предложения автозаполнения пользовательского интерфейса JQuery поверх других элементов - PullRequest
1 голос
/ 27 сентября 2011

Я использую JQuery UI Autocomplete, чтобы предлагать разные города на карте.У меня обычно есть другие div, показывающие контент, который мешает предложениям автозаполнения.Div отображаются в верхней части предложений.

Изменение z-индекса этих элементов является точками для предложений с самым низким z-индексом.

Выбранная стратегия заключается в изменении z-указатель предложений появиться сверху.Идея состоит в том, чтобы прикрепить обработчик к событию загрузки предложений, который изменяет z-индекс на максимальное значение.Поскольку предложения недоступны во время создания элемента управления, обработчик должен быть присоединен с помощью .live ().Я сделал следующее:

$('ul.ui-autocomplete').live('load',function(){
this.css('z-index',3999);
});

Проблема, кажется, в том, что я плохо прикрепляю обработчик, так как он не запускается.Есть идеи?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2013

используйте эту опцию под строкой кода:

$(".selector").autocomplete("option", "position", {my: "right top", at: "right bottom"});
0 голосов
/ 30 сентября 2011

Я нашел обходной путь, чтобы заставить его работать.Мне это не очень нравится, так как это зависит от времени поиска выпадающего списка на несколько секунд, чтобы «убедиться», что он будет доступен.Вам это нужно, потому что при запуске события open раскрывающийся список еще не был создан.Если вы зарегистрируете следующую функцию в событии открытия

function() {
  $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
  setTimeout("$('ul.ui-autocomplete').css('z-index',3999)",500);
}

, хотя это работает, я все еще ищу детерминированный ответ.

...