jquery - 如何让 jquery ui(自动完成)和 fancybox 很好地发挥作用

标签 jquery autocomplete fancybox z-index

我在 fancybox 内自动完成时遇到问题。

问题是由 fancybox 覆盖包含结果的 div 框引起的。自动完成工作正常,但结果返回到 fancybox

后面(不可见)

我该如何解决这个问题?

$('#calendar-wrapper').on('click','#calendar td[data-day]',function(){
            $.fancybox({href: '#newapp', title : 'New appointment'  });
            $("#newapp input[name='app_time']").val($(this).closest('tr').attr('data-hr')+':00:00');
            $("#newapp input[name='app_date']").val($(this).attr('data-day'));
        });////END OF FANCYBOX TRIGGER
     var cache = {};
    $(".ac").on('keyup.autocomplete', function(){
        var fun = $(this).attr("data-ac");
        var par=$(this).closest('FIELDSET');
        var el=$(this);
        par.find('input').not(this).val('');
        par.find('select option:selected').removeAttr('selected');
        $(this).autocomplete({
            minLength: 2,
            source: function( request, response ) {
                var term = request.term,baseurl='<?=base_url()?>';
                if ( term in cache ) {
                response( cache[ term ] );
                return;
                }
                var url=baseurl+'ajax/ac/'+fun+'/'+encodeURIComponent(term);
                $.getJSON( url, '', function( data, status, xhr ) {
                cache[ term ] = data;
                response( data );
                }).complete(function() {$('.ui-autocomplete-loading').removeClass('ui-autocomplete-loading'););
            },
            select: function(event, ui){
                for (var key in ui.item) 
                {
                var obj = ui.item[key];
                var f=par.find('[name*="'+key+'"]').first();
                if(f.length){
                    if(f.tagName == 'select'){
                        f.find('option[value="'+obj+'"]').first().attr('selected','selected');
                    }else{
                        f.val(obj);
                    }
                }
                }
            },
            messages: {noResults: '',results: function() {}}
        }); 
    });////END OF AUTOCOMPLETE

如何更改包含 jquery-ui-ac 结果的 div 的 z-index 以将它们显示在 fancybox 上方?

最佳答案

我用过这个,它对我有用。

<style>
     .ui-autocomplete.ui-front.ui-menu.ui-widget.ui-widget-content.ui-corner-all {
         z-index: 10000 !important;
     }
</style>

关于jquery - 如何让 jquery ui(自动完成)和 fancybox 很好地发挥作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15160060/

相关文章:

javascript - 图像隐藏时是否下载?

JQuery Fancybox - 如何在 fancybox 关闭时重新加载页面

jquery - 在同一个 fancybox 窗口内的 fancybox 窗口内打开链接

jquery - jqGrid 中不区分大小写的搜索,包括隐藏字段

javascript - jQuery 上的动画仅执行一次

javascript - 如何在单击按钮时切换隐藏/显示具有相同类名的所有元素

c# - 自动完成文本框控件

jquery - CSS 过渡在 Safari 中不起作用(第一次)

php - 如何从数据库自动完成bootstrap php mysql ajax

javascript - 如何对 json 文件使用 jQuery 自动完成功能?