Я в JS переопределяю onRenderCell и внутри добавляю классы по условиям (которые потом красишь в CSS) - кусок кода у меня...arrDpres, arrDlbu, holDays - массивы с датами по которым раскрашиваю:
var i = 0;
$('.datepicker-onlinezapis').datepicker({
onRenderCell: function (date, cellType) {
var day = date.getDay(), isDisabled = false;
var dt4 = new Date(date);
dt4.setDate(dt4.getDate() + 1 );
var curcalday = dt4.toJSON().slice(0, 10); // преобразуем дату из формата DateTime в yyyy-mm-dd
for (i = 0; i < arrDpres.length; i++){
if (arrDpres[i] == curcalday){
return {
classes: 'datapicker-datesindb'
}
}
}
for (i = 0; i < arrDlbu.length; i++){
if (arrDlbu[i] == curcalday){
return {
classes: 'datapicker-lockedbyuser'
}
}
}
for (i = 0; i < holDays.length; i++){
if (holDays[i] == dateFormat(curcalday)){
isDisabled = true;
return {
disabled: isDisabled
}
}
}
if (cellType == 'day') {
isDisabled = disabledDays.indexOf(day) != -1;
return {
disabled: isDisabled
}
}
}