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 刷新页面后保持复选框在模式中的选中状态?