Я создал средство выбора даты в jQuery UI так:
$.datepicker.setDefaults({
changeMonth: true,
changeYear: true,
defaultDate: null,
dateFormat: dateTimeFormat,
showOn: 'both',
buttonImageOnly: true,
buttonImage: urlPath + 'Content/styles/images/calendar.gif',
buttonText: 'Calendar'
});
$('input.datetime', controlContext).datepicker({
onSelect: function (dateText, inst) {
$(inst, controlContext).val(dateText);
var dateSelected = $(inst, controlContext).datepicker("getDate");
},
beforeShow: function (input, inst) {
$('.hasDatepicker').blur();
}
});
Работает во всех основных браузерах. Он отлично работает на Ipad, только если он не в диалоговом окне jQuery. В диалоговом окне jQuery также, если я использую указатель даты для выбора какой-либо даты, она работает нормально. Только выпадающий список для выбора месяца или даты не работает вообще. Я вижу раскрывающиеся параметры и даже могу щелкнуть любой из параметров, но он не скрывает список параметров после выбора любого из параметров, он просто остается там.
После долгих отладок я обнаружил, что событие onchange
, которое должно сработать во время выбора любого месяца или года, не запускается.
Повторять еще раз, даже если выбрать месяц / год, то на iPad все работает нормально, если средство выбора даты отсутствует в диалоговом окне jQuery.
Не уверен, что происходит не так.