У меня есть веб-страница, на которой я использую указатель даты jQuery UI для текстового поля asp.net, расположенного внутри 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?