更改jQuery UI自动完成位置 - 弹出,而不是向下弹出

Chr*_*ris 25 jquery jquery-ui autocomplete

我在页面底部放置一个自动填充框,我希望结果弹出文本框,而不是下面.我怎样才能做到这一点?

moh*_*itp 31

以另一种方式放置@ mvonlintel的答案,在窗口小部件声明中设置建议菜单位置:

$('selector').autocomplete(
{
    position: { my: "left bottom", at: "left top", collision: "flip" },
    .
    .
});
Run Code Online (Sandbox Code Playgroud)


mvo*_*tel 17

您可以使用jQuery UI Position实用程序.这是一个例子:

$(".ui-autocomplete").position({
    my: "left bottom",
    at: "left top",
    of: $("#quick_add"),
    collision: "flip flip"
});
Run Code Online (Sandbox Code Playgroud)

  • 在这个例子中什么是`$("#quick_add")` 它是自动完成框还是其他什么? (4认同)

Chr*_*ris 9

似乎我已经能够回答我自己的问题了.如果有人得到它,我愿意接受更好的解决方案.我将此添加到自动完成启动...基本上它将打开的框重新定位到新的偏移量.

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);
}
Run Code Online (Sandbox Code Playgroud)


Tsa*_*her 5

当前版本的jQuery UI允许为Autocomplete小部件提供一个带有选项的position对象,该对象具有与上述Position小部件相同的属性。因此您可以根据自己的喜好使用它来定位建议列表。