【问题标题】:How to keep jquery selector alive after ajax refreshajax刷新后如何使jquery选择器保持活动状态
【发布时间】:2023-03-11 01:49:01
【问题描述】:

我需要解决以下问题。

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

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

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

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

有什么想法吗?

非常感谢,

阿诺德

【问题讨论】:

  • $(".item:odd").attr("class", "item odd"); 添加到您的成功回调中怎么样?

标签: jquery asp.net jquery-selectors asprepeater


【解决方案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">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 2018-11-19
    • 2022-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多