Этот код очень грубый, поэтому вам, возможно, придется немного его настроить, учитывая ваши потребности. Это просто демонстрация того, как заблокировать определенные даты (также я не могу претендовать на кредит, как это было найдено в блоге где-то давным-давно, когда мне нужно было сделать что-то подобное ...), но это сработало для меня
$('#itemID').datepicker({
dateFormat: 'dd-M-yy',
autoSize: true,
showOn: 'button',
changeYear: true,
changeMonth: true,
showButtonPanel: true,
showWeek: true,
beforeShowDay: nonWorkingDates
});
function nonWorkingDates(date) {
var day = date.getDay(), Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6;
var closedDates = [[0, 0, 0000]];
var closedDays = [[Tuesday], [Wednesday], [Tuesday], [Thursday], [Friday], [Saturday], [Sunday]];
for (var i = 0; i < closedDays.length; i++) {
if (day == closedDays[i][0]) {
return [false];
}
}
for (i = 0; i < closedDates.length; i++) {
if (date.getMonth() == closedDates[i][0] - 1 &&
date.getDate() == closedDates[i][1] &&
date.getFullYear() == closedDates[i][2]) {
return [false];
}
}
return [true];
}
как для дня по умолчанию. с сайта jquery
Установите дату, которая будет выделена при первом открытии, если поле пустое. Укажите либо фактическую дату через объект Date, либо в виде строки в текущем dateFormat, либо количество дней с сегодняшнего дня (например, +7), либо строку значений и периодов («y» для лет, «m» для месяцев, 'w' для недель, 'd' для дней, например, "+ 1m + 7d"), или ноль для сегодняшнего дня.
Примеры кода
Initialize a datepicker with the defaultDate option specified.
$( ".selector" ).datepicker({ defaultDate: +7 });
Get or set the defaultDate option, after init.
//getter
var defaultDate = $( ".selector" ).datepicker( "option", "defaultDate" );
//setter
$( ".selector" ).datepicker( "option", "defaultDate", +7 );