Находят основу для исправного решения в этом посте: Обновите аддон jquery timepicker из средства выбора даты И мой обновленный код приведен ниже. Надеюсь, это кому-нибудь поможет. Пара замечаний: Когда я включил Формат даты, DatePicker будет выбирать предыдущую дату (например, нажмите на Вт, и он вернул пн.), Поэтому я пропустил формат даты, и средство выбора работает. Мне также потребовалось два отдельных поля - одно для DatePicker и одно для TimePicker - я не смог выполнить sh это с помощью одного datetimepicker (как в примерах с использованием поля alt).
$(function(){
$("#datepicker").datepicker({
beforeShowDay: closedDay,
minDate: 7,
stepMinute: 15,
addSliderAccess: true,
sliderAccessArgs: { touchonly: false },
onSelect: function (dateText, instance) {
let testDate = new Date(dateText);
testDate = testDate.getDay();
if(testDate) {
if(testDate==2) {
$("#timepicker").removeClass("hasDatepicker");
$("#timepicker").timepicker({
hourMin: 9,
hourMax: 16,
timeFormat: 'hh:mm TT',
stepMinute: 15,
timeOnly: true
});
} else if(testDate==3){
$("#timepicker").removeClass("hasDatepicker");
$("#timepicker").timepicker({
hourMin: 11,
hourMax: 18,
timeFormat: 'hh:mm TT',
stepMinute: 15,
timeOnly: true
});
} else if(testDate==4 || testDate==5){
$("#timepicker").removeClass("hasDatepicker");
$("#timepicker").timepicker({
hourMin: 11,
hourMax: 16,
timeFormat: 'hh:mm TT',
stepMinute: 15,
timeOnly: true
});
} else {
$("#timepicker").removeClass("hasDatepicker");
$("#timepicker").timepicker({
hourMin: 10,
hourMax: 14,
timeFormat: 'hh:mm TT',
stepMinute: 15,
timeOnly: true
});
}
}
}
});
function closedDay(date) {
let day = date.getDay();
if(day == 0 || day == 1) {
return [false];
} else {
return [true];
}
}
});