2011-09-27 55 views
1

我正在使用JQuery UI自动补全来在地图控件上建议不同的城市。我通常会有其他div显示干扰自动填充建议的内容。 divs出现在建议之上。在其他元素上显示JQuery UI自动补全建议

更改这些div的z-index是建议的点数最低的z-index。

选择的策略是修改建议的Z指数以显示在最上面。我们的想法是将处理程序附加到将z索引更改为最高值的建议的加载事件。由于建议在控件创建时不可用,因此必须使用.live()附加处理程序。我做了以下事情:

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

问题似乎是我没有附加处理程序,因为它没有被解雇。任何想法?

回答

0

我找到了解决办法,使其工作。我不太喜欢它,因为它取决于几秒钟的时间搜索下拉列表以确保它可用。你需要这个,因为当打开事件被触发时,下拉列表还没有被创建。如果您注册了下面的函数来打开事件

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

虽然这工作,我还在寻找确定性响应。

0

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

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