我有一个网页,我在 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/