Если кому интересно, на обычный UI Datapicker написал.
Warning! Возможны баги.
<style>
.ui-datepicker-calendar td{
padding:0 !important;
}
.dp-highlight .ui-state-default {
background: #484;
color: #FFF;
}
</style>
<script>
$(function() {
var array = ["2015-09-27","2013-03-15","2013-03-16"];
$("#datepicker").datepicker({
beforeShowDay: function(date) {
var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input1").val());
var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input2").val());
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
if(array.indexOf(string) != -1){
return [false, ""];
}else{
return [true, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
}
},
minDate:1,
onSelect: function(dateText, inst) {
var date1 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input1").val());
var date2 = $.datepicker.parseDate($.datepicker._defaults.dateFormat, $("#input2").val());
if (!date1 || date2) {
$("#input1").val(dateText);
$("#input2").val("");
if($(this).datepicker("option", "minDate")<$("#input1").val(dateText)){
$(this).datepicker("option", "minDate", dateText);
}
} else {
$("#input2").val(dateText);
$(this).datepicker("option", "minDate", $(this).datepicker("option", "minDate"));
}
}
});
});
</script>