ajax刷新后如何使jquery选择器保持活动状态

Posted

技术标签:

【中文标题】ajax刷新后如何使jquery选择器保持活动状态【英文标题】:How to keep jquery selector alive after ajax refresh 【发布时间】:2011-12-20 09:09:19 【问题描述】:

我需要解决以下问题。

我正在使用 jquery 奇数选择器为 asp:repeater 中的每个奇数项目添加一个 css。

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

在我执行 ajax 调用(来自 updatepanel)以转到转发器中的下一页后,类不会添加到下一页的项目中。

$(document).ajaxComplete 似乎无法解决问题。

有什么想法吗?

非常感谢,

阿诺德

【问题讨论】:

$(".item:odd").attr("class", "item odd"); 添加到您的成功回调中怎么样? 【参考方案1】:

只需添加

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

在您的 ajax 请求的成功回调中

【讨论】:

Ajax 由我的代码隐藏处理,所以我猜我不能这样做? 我找到了解决方案。将 ajax 与更新面板一起使用时,您可以使用 pageLoad。它每次都会触发,即使您执行 ajaxcall... function pageLoad(sender, args) ... 【参考方案2】:

一种可能的解决方案是添加到页面中:

<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">

【讨论】:

以上是关于ajax刷新后如何使jquery选择器保持活动状态的主要内容,如果未能解决你的问题,请参考以下文章

在 Ajax 调用期间保持 ASP.Net 会话处于活动状态

如何使 DRF ( Django-REST-Framework) 令牌保持不变,使其在每次页面刷新后不会丢失?

如何在使用 jquery 刷新页面后保持复选框在模式中的选中状态?

jquery 怎么设置在网页刷新后radio仍然保持选中状态

Vue中iframe保持活动状态(不刷新)

php - 如何在刷新后保持图像按钮状态