Есть ли какой-нибудь умный способ настроить текст сообщения ajax в jQuery? - PullRequest
1 голос
/ 25 марта 2010

У меня есть тонны компонентов Ajax в этом механизме бронирования. Мне нужно настроить текст внутри модального для каждого из компонентов комплекта.

Я добавил:

    $('#loader').bind('ajaxStart', function() {
        $(this).show().addClass('modalOpen');
    }).bind('ajaxComplete', function() {
        $(this).removeClass('modalOpen').hide()
    });

Есть ли какой-нибудь продвинутый способ изменить текст внутри загрузочного элемента, прежде чем я сделаю отдельные .ajax вызовы? Или мне просто нужно сделать что-то вроде

$('#loader').text('blah');
$.ajax({})

Кроме того, это может звучать глупо, но есть ли способ не показывать загрузчик для определенных компонентов? Если нет, я думаю, мне придется сделать что-то вроде

$('someel').someEvent(function() {
    $('#loader').addClass('override-hide');
    $.ajax({
       success:function() {
          $('#loader').removeClass('override-hide');
       }
    })
})

#loader.override-hide { display:none !important; }

1 Ответ

3 голосов
/ 25 марта 2010

Я бы использовал обратный вызов beforeSend для обоих ваших примеров:

$.ajax({
   beforeSend: function() {
      $('#loader').text('Message for this call').show();
   },
   success:function() {
      $('#loader').hide();
   }
});

Просто пропустите .show() / .hide() или .text(), если вы не хотите, чтобы оно отображалось или сообщение изменялось, что бы вы ни хотели в каждом случае.

Смотри полный список событий здесь

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