2013-07-23 4 views
1

Я использую следующий код, чтобы сделать текст красным в любом диапазоне с кодом класса и который содержит текст «Не удалось отправить приглашение». Это работает, однако таблица является частью набора результатов разбивки на страницы, а разбиение на страницы обновляется через ajax, поэтому, когда они меняют страницу результатов, красный цвет теряется.Код jquery не работает после обновления ajax

Как заставить этот код работать так, как будет работать с содержимым ajax.

//This works for setting red in the initial page load 
$('table span.code').each(function() { 
    if(/(Failed to send invite)/.test($(this).html())) { 
     $(this).css('color', 'red'); 
    } 
}); 
+1

Вы используете ASP.NET и UpdatePanels? – melancia

+0

Добавьте событие к кнопкам разбиения на страницы, которые выполняют этот код. – Alvaro

ответ

0

Вы пересвязать обработчик событий после того, как Ajax запрос обновит часть страницы:

$().ready(function() { 
    bindHandlers(); 

    function doAjaxCall() { 
     $.ajax({ 
      ...some codes, 
      success: function (result) { 
       ...some codes 
       bindHandlers(); 
      } 
     }); 
    } 

    function bindHandlers() { 
     $('table span.code').each(function() { 
      if(/(Failed to send invite)/.test($(this).html())) { 
       $(this).css('color', 'red'); 
      } 
     }); 
    } 
}); 
2

вы пробовали в том числе этого кода, когда новое содержание написано на страницу? jQuery не работает с живыми обновлениями на странице, он запускается один раз (если не указано иное).

Вы всегда можете превратить это в функцию и просто запустить функцию каждый раз, когда вам нужно будет проходить через вашу таблицу.

Смежные вопросы