У меня есть страница asp.net, которая имеет 3 пользовательских элемента управления. У 3 пользовательских контроллеров есть jQueryUI-datepicker.jQuery и usercontrols не всегда подключаются
Когда моя страница загружена, 1 из элементов управления виден, другие 2 - нет.
Когда я выбираю в выпадающем меню другое значение, отображается соответствующее пользовательское управление.
Проблема в том, что мой датпикер работает неправильно.
Код для DatePicker:
$(function() {
$("#txtCiStartDateF").datepicker();
$(".needs-bdatepicker").datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'dd-M-yy',
altFormat: 'yy-M-dd',
minDate: '+5d'
});
});
<tr runat="server">
<td><asp:Label ID="FromDateLabel" runat="server">From date:</asp:Label></td>
<td>
<input type="text" id="txtCiStartDateF" runat="server" class="needs-bdatepicker"/>
<asp:TextBox id="txtCiStartDate" CssClass="hidden" runat="server" />
</td>
</tr>
Тот же самый код на другие элементы управления, но с другим идентификатором управления.
Код для переключения между элементами управления:
Private Sub HideAllUserControls()
ChangeFrequency.Visible = False
ChangeOpeningHours.Visible = False
ChangeCiNumber.Visible = False
End Sub
Protected Sub TicketSubTypeSelected(ByVal sender As System.Object, ByVal e As EventArgs) Handles TicketSubTypeDropDownList.SelectedIndexChanged
HideAllUserControls()
Select Case TicketSubTypeDropDownList.SelectedItem.Value
Case TicketSubType.ChangeFrequency
TransportTypeRow.Visible = True
ChangeFrequency.CiNumber = CINumberTextBox.Text
ChangeFrequency.CustomerCode = CustomerCodeDropDownList.SelectedItem.Text
ChangeFrequency.Visible = True
Case TicketSubType.ChangeOpeningHours
TransportTypeRow.Visible = True
ChangeOpeningHours.CiNumber = CINumberTextBox.Text
ChangeOpeningHours.CustomerCode = CustomerCodeDropDownList.SelectedItem.Text
ChangeOpeningHours.Visible = True
Case TicketSubType.ChangeCiNumber
TransportTypeRow.Visible = False
ChangeCiNumber.CiNumber = CINumberTextBox.Text
ChangeCiNumber.CustomerCode = CustomerCodeDropDownList.SelectedItem.Text
ChangeCiNumber.Visible = True
Case Else
End Select
End Sub
Когда я нажав на текстовое поле DatePicker не отображающее. Когда я нажимаю текстовое поле до того, как вы выбрали другое значение из раскрывающегося списка, функция datepicker открывается просто отлично. Когда я выбираю другое значение из раскрывающегося списка, я не получаю datepicker.
Обновление: когда я впервые попал на страницу, функция datepicker работает нормально. Я заметил, что мой элемент управления имеет класс «hasDatepicker». Когда я выбираю другое значение из раскрывающегося списка, у контроллера больше нет класса hasDatepicker. Может ли кто-нибудь мне помочь?
Пожалуйста, поделитесь рабочим примером (проще всего «сохранить страницу как», затем поделитесь в jsfiddle или другом методе совместного доступа, а не публикуйте все здесь), чтобы мы могли запустить его или, по крайней мере, больше контекста на «is not working correct». Этот код, который вы поделили, не очень помогает нам, а также не включает этот код переключения, который может быть причиной этого. ЯВЛЯЮТСЯ ЛЮБЫМИ датпикерами? есть ли что-нибудь в консольных журналах? –
Добавлены дополнительные пояснения. –