jQuery-UI的自动完成功能不能很好地显示z-index问题

Mar*_*ijn 81 javascript jquery jquery-ui autocomplete

我目前正在我的客户网站上实现jQuery UI的自动完成功能.问题是:自动完成所在的元素具有更高的z-index,然后是自动完成的z-index.我尝试手动设置自动完成z-index,但我觉得jQuery UI会覆盖它.

实际上我的问题是自动完成建议列表错误的z-index的重复,我该如何更改?,但由于没有答案,我想再试一次.

欢迎任何帮助!

马亭

Ran*_*nch 99

使用z-index!important

.ui-autocomplete { position: absolute; cursor: default;z-index:30 !important;}  
Run Code Online (Sandbox Code Playgroud)


Mar*_*ijn 59

在搜索时我发现了这个主题(http://forum.jquery.com/topic/alternating-style-on-autocomplete).显然,改变自动填充框样式的唯一方法是通过javascript完成:

    open: function(){
        $(this).autocomplete('widget').css('z-index', 100);
        return false;
    },
Run Code Online (Sandbox Code Playgroud)

  • 为什么返回假? (2认同)
  • 感谢您的回复,即使多年后!实际上,在您的情况下不需要这样做,甚至可能在其他情况下导致不必要的行为.无论如何,这个问题现在有一个标准的解决方案(`ui-front` class +`appendTo` widget option):https:// api.jqueryui.com/theming/stacking-elements/ (2认同)

小智 10

更改父Div的z-index,自动完成菜单将具有div的z-index + 1

  • @Marius,你可以使用[`appendTo`](http://api.jqueryui.com/autocomplete/#option-appendTo)选项告诉菜单标记去哪里,否则你可以添加类'ui-front `到输入的一个父元素. (8认同)

小智 9

在CSS中jQuery UI:

.ui-front { z-index: 9999; }
Run Code Online (Sandbox Code Playgroud)


Ipa*_*pad 7

试试这个,你可以在运行时或初始化时操纵z-index

$('#autocomplete').autocomplete({
    open: function(){
        setTimeout(function () {
            $('.ui-autocomplete').css('z-index', 99999999999999);
        }, 0);
    }
});
Run Code Online (Sandbox Code Playgroud)