Удалите счетчик / загрузку изображения для ошибки в автозаполнении - PullRequest
1 голос
/ 13 февраля 2012

Не могли бы вы помочь мне, как удалить вращающуюся / загрузочную картинку, если автозаполнение идет для случаев ошибки / сбоя?

Если я получаю ошибку "Из-за непредвиденных ошибок мы не смогли загрузить данные«Я вижу загружаемые изображения и хочу удалить эти изображения.

Ниже приведен фрагмент

  $("Autotxt").autocomplete({
    source: function (request, response) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "Webservice.asmx/GetNames",
            data: "{'prefixText':'" + request.term + "'}",
            dataType: "json",  
            success: function (data) {
                response($.map(data.d, function (item) {

                    return {
                        label: item.split('|')[0],
                        val: item.split('|')[1]
                    }
                }))
            },

            error: function (result) {

                alert("Due to unexpected errors we were unable to load data");
                ServiceFailed(result);
            },
            failure: function (response) {
                alert("Due to unexpected errors we were unable to load data");

            }
        });
    },
    select: function (event, ui) {
        txtSoID(ui.item.val);
    },
    minLength: 4
});


function txtID(val)
{
alert(val)
}

Ответы [ 4 ]

3 голосов
/ 13 февраля 2012

Если вы имеете в виду класс загрузки, доступный через пользовательский интерфейс, вы должны быть в состоянии сделать следующее:

 error: function (result) {
     $('.ui-autocomplete-loading').removeClass("ui-autocomplete-loading");
     // or .hide()
     alert("Due to unexpected errors we were unable to load data");
     ServiceFailed(result);
 },

Я нашел информацию о классе на сайте разработки jqueryUI в нижней части страницы, где они говорят о CSS и темах.

2 голосов
/ 13 февраля 2012

Я не вижу экран загрузки в вашем коде. Но вы можете просто добавить функцию

var removeSpinner = function() {
    $("yourloader").hide();
}

и вызывайте его в случае сбоя или обратного вызова, например

   error: function (result) {
        removeSpinner();
        alert("Due to unexpected errors we were unable to load data");
        ServiceFailed(result);
    }
0 голосов
/ 23 декабря 2014

Адаптировано из моего ответа здесь, добавьте следующий код для выполнения после завершения поиска (даже с 0 результатами):

var __response = $.ui.autocomplete.prototype._response;
$.ui.autocomplete.prototype._response = function(content) {
    __response.apply(this, [content]);
    this.element.trigger("autocompletesearchcomplete", [content]);
};

Этот код вызовет событие (autocompletesearchcomplete), которое вы можете затем связатьна:

$("#q").bind("autocompletesearchcomplete", function(event, contents) {
    /* Remove spinner here */
});

Надеюсь, эта помощь ...

0 голосов
/ 13 февраля 2012

Выполните проверку элементов на этих изображениях, проверьте их класс (например, «загрузчик»), а затем вставьте это в ваш ответ об ошибке и сбое $(".loader").hide().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...