2011-11-01 44 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中,它也會起作用。 –