2011-11-02 2 views
0

Мне нужно решение для следующей проблемы.Как сохранить селектор jquery в активном состоянии после обновления ajax

Я использую jQuery нечетный селектор, чтобы добавить CSS для каждого нечетного элемента в asp: repeater.

$ (". Item: odd"). Attr ("class", "item odd");

После того, как я сделаю вызов ajax (из обновленной панели), чтобы перейти на следующую страницу ретранслятора, классы не будут добавлены к элементам на следующей странице.

$ (document) .ajaxComplete, похоже, не делает этого.

Любые идеи?

Большое спасибо,

Arnoud

+0

насчет добавления '$ ("Пункт:. Нечетный "). Атр (" класс", "Пункт нечетный");' к вашему обратному вызову успеха? – swatkins

ответ

0

Просто добавьте

$(".item:odd").attr("class", "item odd"); 

Внутри обратный вызов для Ajax запроса

+0

Ajax обрабатывается моим кодом, поэтому я предполагаю, что не могу этого сделать? – Arno

+0

Я нашел решение. При использовании ajax с помощью панели обновления вы можете использовать pageLoad. Он будет запускаться каждый раз, даже когда вы делаете ajaxcall ... function pageLoad (отправитель, args) { ... } – Arno

0

Одним из возможных решений является добавление страницы:

<script type="text/javascript"> 
    window.onload = function() { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler); 
    } 

    function endRequestHandler(sender, args) { 
     $(".item:odd").attr("class", "item odd"); 
    } 
</script> 

Содержимое endRequestHandler будет запускаться после каждого запроса AJAX.

Вы, вероятно, также необходимо добавить ScriptManager на страницу:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
Смежные вопросы