Возможно, вы захотите посмотреть на событие beforeShowDay
элемента управления DatePicker http://jqueryui.com/demos/datepicker/#event-beforeShowDay. Кажется, он готов к тому, что вы пытаетесь сделать, вам просто нужно предоставить список дат и стилей, которые вам подходят: что-то вроде:
$('.selector').datepicker({
beforeShowDay: function(date) {
for(i = 0; i < arrayOfCalendarEventDatesYouProvide.length; i++) {
if(date.getMonth() == arrayOfCalendarEventDatesYouProvide[i].getMonth()
&& date.getDay() == arrayOfCalendarEventDatesYouProvide[i].getDay()
&& date.getYear() == arrayOfCalendarEventDatesYouProvide[i].getYear())
//matched a day in the array, turn of date in calendar if you
//don't want it pickable
return [false, 'some-css-to-indicate-a-match'];
}
//if you get this far, no matches
return [true, ''];
}
});