Как сохранить JQuery селектор после обновления AJAX - PullRequest
0 голосов
/ 02 ноября 2011

Мне нужно решение для следующей проблемы.

Я использую jquery odd selector, чтобы добавить css к каждому нечетному элементу в asp: repeater.

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

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

$ (document) .ajaxComplete, похоже, не работает.

Есть идеи?

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

Arnoud

Ответы [ 2 ]

0 голосов
/ 02 ноября 2011

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

<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">
0 голосов
/ 02 ноября 2011

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

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

Внутри обратного вызова для вашего запроса ajax

...