2011-11-02 74 views
0

我需要針對以下問題的解決方案。如何讓jquery選擇器在ajax刷新後保持活動狀態

我正在使用jQuery的奇數選擇器來添加一個CSS到每個奇怪的項目在一個ASP:中繼器。 (「。item:odd」)。attr(「class」,「item odd」);

在我做了一個ajax調用(從updatepanel)轉到中繼器的下一頁後,這些類不會添加到下一頁的項目中。

$(document).ajaxComplete似乎沒有辦法。

任何想法?

非常感謝,

阿諾德·

+0

有關添加'$( 「項目:奇 」)的東西。ATTR(「 類」, 「項奇」);'你的成功回調? – swatkins

回答

0

只需添加

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

內成功回調您的Ajax請求

+0

Ajax由我的代碼隱藏處理,所以我猜我不能這樣做? – Arno

+0

我找到了解決方案。在一個updatepanel中使用ajax時,您可以使用pageLoad。它會觸發每一次,即使你做ajaxcall ... function pageLoad {sender,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"> 
相關問題