JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<input name="leaveStartDate" id="leaveStartDate" class="form-control" data-plugin-datepicker="" />
JavaScript
var publicHolidayDates = ["2016/04/19"];
var dateToday = new Date();
$("#leaveStartDate").datepicker({
minDate: '-1d',
beforeShowDay : disablePublicHolidaysAndWeekends,
onSelect : function(dateText, inst) {
var selDate = $(this).datepicker('getDate');
var lastDate = $("#leaveEndDate").datepicker('getDate');
if (lastDate != null) {
if (selDate > lastDate) {
$("#leaveStartDate").val('');
$("#startDateError").html(
"Start Date must be less than End Date");
$(inst).datepicker('show');
} else {
$("#startDateError").html("");
//calculateDays(selDate, lastDate);
}
}
}
});
function disablePublicHolidaysAndWeekends(date) {
var month = date.getMonth();
var day = date.getDate();
var year = date.getFullYear();
if(day < 10 && day > 0){
day = '0'+day;
}
if(month < 9 && month > 0){
month = '0' +(month + 1);
}
else{
month += 1;
}
var getdate = year+ '/' + month + '/' + day;
for (var i = 0; i < publicHolidayDates.length; i++) {
if ($.inArray( getdate ,publicHolidayDates) !== -1) {
return [ false ];
}
}
var noWeekend = $.datepicker.noWeekends(date);
return !noWeekend[0] ? noWeekend : [ true ];
}