2011-01-18 2 views
25

Я помещаю блок автозаполнения в нижней части моей страницы, и мне хотелось бы, чтобы результаты отображались поверх текстового поля, а не ниже. Как я могу это сделать?Изменение позиции автозаполнения jQuery UI - всплывающее окно, а не вниз

+0

также сослаться на очень похожий вопрос здесь http://stackoverflow.com/q/9603998 – Kariem

ответ

9

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

+0

Вы дон Не нужно использовать аргументы 'event' и' ui', если он не используется в этой функции. Кроме того, он не работает, если вы измените размер своего окна. Вы можете использовать инструменты F12 dev для тестирования. –

16

Вы можете использовать jQuery UI Position utility. Ниже приведен пример:

$(".ui-autocomplete").position({ 
    my: "left bottom", 
    at: "left top", 
    of: $("#quick_add"), 
    collision: "flip flip" 
}); 
+3

Что такое '$ (" # quick_add ")' в этом примере? Это окно автозаполнения или что-то еще? – Yuck

4

текущая версия JQuery UI позволяет давая Автодополнение виджета объекта позиции с параметрами, с теми же свойствами, что и виджет установки, упомянутым выше. поэтому вы можете использовать это, чтобы разместить список предложений по своему усмотрению.

+0

Согласен. Лучше дать его как вариант –

24

Ввод ответа @ mvonlintel по-другому, установить позицию меню предложения в объявлении виджета:

$('selector').autocomplete(
{ 
    position: { my: "left bottom", at: "left top", collision: "flip" }, 
    . 
    . 
}); 
+0

Мне нравится этот путь =) – Bryuk

+0

Это не работает для меня. – Yuck

+0

это работает для меня :) –

Смежные вопросы