在其他元素上显示JQuery UI自动完成建议

在其他元素上显示JQuery UI自动完成建议,jquery,jquery-ui,jquery-ui-autocomplete,Jquery,Jquery Ui,Jquery Ui Autocomplete,我正在使用jQueryUIAutoComplete在地图控件上建议不同的城市。我通常有其他div显示的内容干扰了autocomplete的建议。div出现在建议的顶部 更改这些div的z索引是指建议具有最低z索引的指针 选择的策略是修改建议的z索引以显示在顶部。其思想是将一个处理程序附加到建议的加载事件,该事件将z索引更改为最高值。由于建议在控件创建时不可用,因此必须使用.live()附加处理程序。我已经做了以下工作: $('ul.ui-autocomplete').live('load',fu

我正在使用jQueryUIAutoComplete在地图控件上建议不同的城市。我通常有其他div显示的内容干扰了autocomplete的建议。div出现在建议的顶部

更改这些div的z索引是指建议具有最低z索引的指针

选择的策略是修改建议的z索引以显示在顶部。其思想是将一个处理程序附加到建议的加载事件,该事件将z索引更改为最高值。由于建议在控件创建时不可用,因此必须使用.live()附加处理程序。我已经做了以下工作:

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

问题似乎是我没有很好地连接处理程序,因为它没有被解雇。有什么想法吗?

我已经找到了一个解决办法。我真的不喜欢它,因为它取决于定时搜索下拉列表几秒钟,以“确保”它将是可用的。您需要这样做,因为在触发open事件时,dropdownlist尚未创建。如果将以下函数注册到打开事件

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

虽然这样做有效,但我仍在寻找确定性响应。

在代码行下面使用此选项:

$(".selector").autocomplete("option", "position", {my: "right top", at: "right bottom"});