【问题标题】:jQuery autocomplete - wait until all documents loadedjQuery 自动完成 - 等到所有文档加载完毕
【发布时间】:2010-12-16 22:35:39
【问题描述】:

我正在调用多个 XML 文档作为自动完成的源。我希望我的“加载”消息在所有文档都加载后消失。目前它会在第一个加载后消失。

谢谢

function callAjax(data1, url){
$.ajax({
    url: url,
    dataType: "xml",
    success:
        function(xmlResponse) {
            totalrec = $("TOTALREC", xmlResponse).text();
            endrec = $("ENDREC", xmlResponse).text();
            var data = $("ROW", xmlResponse).map(returnResults).get(data);
            $.merge(data1, data);
            if(endrec<totalrec){
                callAjax(data1, url + "&page_no="+ parameter++);
            }


        $("#_results").removeClass( "ui-autocomplete-loading" ).addClass("idleField");
        $("#_results").val( "Search by Application, Keyword, Process or Name" );
        $("#_results").attr( "disabled", "" );
        $("#_results").autocomplete({
            source: data1,
            minLength: 0,
            selectFirst: true,
            select: function(event, ui) {
                if(event.keyCode == 13){
                    window.open(ui.item.url);
                    $("#_results").blur();
                }
            }                   
        })

【问题讨论】:

    标签: javascript jquery jquery-ui autocomplete


    【解决方案1】:

    if(endrec&lt;totalrec) 检查中将自动完成代码放入else

    【讨论】:

    • 这项工作在 Firefox 中找到,但在 IE..weird 中导致一些不稳定的行为。
    【解决方案2】:

    像这样:

    function callAjax(data1, url){$.ajax({
    url: url,
    dataType: "xml",
    success:
        function(xmlResponse) {
            totalrec = $("TOTALREC", xmlResponse).text();
            endrec = $("ENDREC", xmlResponse).text();
            var data = $("ROW", xmlResponse).map(returnResults).get(data);
            $.merge(data1, data);
            if(endrec<totalrec){
                callAjax(data1, url + "&page_no="+ parameter++);
            } else {
                $("#_results").removeClass( "ui-autocomplete-loading" ).addClass("idleField");
                $("#_results").val( "Search by Application, Keyword, Process or Name" );
                $("#_results").attr( "disabled", "" );
                $("#_results").autocomplete({
                    source: data1,
                    minLength: 0,
                    selectFirst: true,
                    select: function(event, ui) {
                        if(event.keyCode == 13){
                            window.open(ui.item.url);
                            $("#_results").blur();
                        }
                    }                   
                });   
            }        
    }
    

    });

    【讨论】:

      猜你喜欢
      • 2011-06-14
      • 1970-01-01
      • 2019-02-24
      • 2016-05-15
      • 1970-01-01
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多