asp.net - asp.net UpdatePanel 中的 jquery ui datepicker

标签 asp.net jquery jquery-ui asp.net-ajax updatepanel

我有一个网页,我在 asp.net 文本框上使用 jQuery UI 日期选择器,该文本框位于 UpdatePanel 内。这是我大致所做的描述

<script type="text/javascript">
    $(document).ready( function() { $(".datepicker").datepicker(); } );
</script>

<asp:UpdatePanel ... >
    ...
    <asp:TextBox runat="server" CssClass="datepicker" />
    <asp:Button runat="server" />
    ...
</asp:UpdatePanel>

当我第一次加载页面时,一切正常。单击文本框内部时,会弹出日期选择器。但是,当我单击按钮并执行异步回发时,当我再次单击该字段时,日期选择器不再弹出。

我知道问题是因为 UpdatePanel 在更新时完全替换了所有包含的 HTML,因此实际上,它是一个新的文本字段,尚未使用日期选择器功能进行初始化。

我想我不应该在这里使用 $(document).ready() 来初始化我的日期选择器,但是哪里是放置初始化代码的好地方?或者有没有办法可以在 AJAX 更新后重新触发初始化代码?

最佳答案

在后面添加脚本,这就是我所做的。

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>

<script type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function(evt, args) {
        $(".datepicker").datepicker();
    });
</script>

关于asp.net - asp.net UpdatePanel 中的 jquery ui datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2163246/

相关文章:

jquery - 如何DIV block 不减

asp.net - 无法加载 View 状态。正在加载 View 状态的控制树

javascript - 如何在模态关闭后停止 Iframe(视频)?

javascript - 延迟 jQuery UI 自动完成焦点事件

javascript - 在 jQuery 中获取滚轮数量

javascript - 多个 jQuery UI 进度条

javascript - block 符号按键 jQuery 不工作

c# - 如何让 WebAPI 使用 JsonProperty(Required = Required.Always) 验证我的 JSON?

javascript - 向弹出窗口传递参数?

ASP.NET MVC 3 Razor 语法问题