我在页面底部放置了一个自动填充框,我想在文本框中弹出结果,而不是在下面。我怎样才能做到这一点?
答案 0 :(得分:27)
以另一种方式放置@ mvonlintel的答案,在小部件声明中设置建议菜单位置:
$('selector').autocomplete(
{
position: { my: "left bottom", at: "left top", collision: "flip" },
.
.
});
答案 1 :(得分:17)
您可以使用jQuery UI Position utility。这是一个例子:
$(".ui-autocomplete").position({
my: "left bottom",
at: "left top",
of: $("#quick_add"),
collision: "flip flip"
});
答案 2 :(得分: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);
}
答案 3 :(得分:5)
当前版本的jQuery UI允许为Autocomplete小部件提供一个带有选项的位置对象,其属性与上面提到的Position小部件相同。所以您可以根据需要使用它来定位建议列表。