2011-11-02 71 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"> 
相关问题