2011-11-01 68 views
8

我有一个asp:TextBox与jQuery DatePicker关联。这个输入有一个onTextChangedEvent,用于更新文字控件。DatePicker在回发后消失

所有这些代码都在UpdatePanel中,因此Literal控件会更改,但页面不会刷新。

我面临的问题是,当事件触发时,显示DatePicker的图像消失。下面是一段我的代码:

<asp:UpdatePanel ID="UpdatePanel" runat="server"> 
    <ContentTemplate> 

     <asp:TextBox runat="server" OnTextChanged="EditFromDate_TextChanged" 
     AutoPostBack="true"></asp:TextBox> 

    </ContentTemplate> 
</asp:UpdatePanel> 

然后,我有:

$(document).ready(function() 
{ 
    $("#EditFromDate").datepicker({ ... }); 
}); 

我应该把其他地方发起的DatePicker的代码? 我试着将它放在使用Page.RegisterStartup的页面加载中,但结果相同。

谢谢!

回答

13

使用pageLoad,它触发对部分回发:

function pageLoad() { 
     $("#EditFromDate").datepicker({ ... }); 

    } 

$(document).ready() and pageLoad() are not the same!

+0

谢谢!那么,何时$(document).ready()会触发?为什么把这个代码放在Page_Load事件中不起作用? – Gonzalo

+0

查看文章。如果您在回发中将Document.ready代码放入RegisterStartupScript中,它也会起作用。 –