当我使用.ajaxstop进行其他功能时,jquery自动完成功能无法正常工作

时间:2012-12-27 10:14:23

标签: jquery-ui jquery jquery-autocomplete

我使用此js为我的网页的所有页面显示“请稍候”弹出窗口“我将其包含在标题中” 并且它的工作正常并显示弹出的每个ajax调用并在完成后隐藏。

$('#loadingDiv')
    .hide()  // hide it initially
    .ajaxStart(function() {$('#loadingDiv').dialog({ resizable: false }).show();$(".ui-dialog-titlebar").hide();})
    .ajaxStop(function() {$('#loadingDiv').dialog("close");});
使用jquery自动完成插件的页面出现

问题,因为它会干扰自动完成,而ac不再显示其下拉列表 我的自动完成JS

$('input.completeme').each(function() {


$(this).autocomplete({
            source: function(request, response) {
                $.ajax({ url: '<?=base_url()?>booking/ac',
                data: { 'term': this.term,'name': this.element.attr('name') },
                dataType: "json",
                type: "POST",
                success: function(data){
                    response(data);
                }
            });
        },
        select: function(event, ui){
                    $("#pt_name").val(ui.item.name);
                    $("#pt_id").val(ui.item.id);
                    $("#pt_dob").val(ui.item.dob);
        },
        minLength: 2
    });
});

我认为因为自动完成也使用.ajaxStop,所以有办法解决这个问题吗?

我真的很喜欢这个功能,因为它绑定到所有的ajax调用,我把它包含在我的标题中,而不用再担心plz等待弹出窗口了。但它看起来像autocomplete讨厌它:(

1 个答案:

答案 0 :(得分:0)

使用“document”绑定ajaxStop事件。

$(document).ajaxStop(function(){...})

我测试了这个解决方案&amp;没有问题。