Я помещаю блок автозаполнения в нижней части моей страницы, и мне хотелось бы, чтобы результаты отображались поверх текстового поля, а не ниже. Как я могу это сделать?
Изменение позиции автозаполнения jQuery UI - всплывающее меню, а не вниз
Ответ 1
Кажется, я уже мог ответить на свой вопрос. Я открыт для лучшего решения, если кто-то это получил. Я добавил это к началу автозаполнения. По существу, он привязывает поле к открытому к новому смещению.
open: function(event, ui) {
var autocomplete = $(".ui-autocomplete");
var oldTop = autocomplete.offset().top;
var newTop = oldTop - autocomplete.height() - $("#quick_add").height() - 10;
autocomplete.css("top", newTop);
}
Ответ 2
Помещая @mvonlintel ответ другим способом, установите положение меню предложений в объявлении виджета:
$('selector').autocomplete(
{
position: { my: "left bottom", at: "left top", collision: "flip" },
.
.
});
Ответ 3
Вы можете использовать утилиту jQuery UI Позиция. Вот пример:
$(".ui-autocomplete").position({
my: "left bottom",
at: "left top",
of: $("#quick_add"),
collision: "flip flip"
});
Ответ 4
текущая версия пользовательского интерфейса jQuery позволяет предоставить виджет Autocomplete позиционного объекта с параметрами с теми же свойствами, что и виджет Position, упомянутый выше. поэтому вы можете использовать это, чтобы разместить список предложений, как вам нравится.