Skip to content

Instantly share code, notes, and snippets.

@gterrill
Created May 1, 2013 23:04
Show Gist options
  • Save gterrill/5499078 to your computer and use it in GitHub Desktop.
Save gterrill/5499078 to your computer and use it in GitHub Desktop.
Restrict number of days that can be chosen for the date range
function customRange(input) {
jQuery(input).addClass('openDatepicker');
var min = new Date(), // Minimum date is today
dateMin = min,
dateMax = null,
dayRange = 7; // Set this to the range of days you want to restrict to
if (input.id === "booking-start") {
if ($("#booking-finish").datepicker("getDate") != null) {
dateMax = $("#booking-finish").datepicker("getDate");
dateMin = $("#booking-finish").datepicker("getDate");
dateMin.setDate(dateMin.getDate() - dayRange);
if (dateMin < min) {
dateMin = min;
}
} else {
dateMax = new Date(dateMin.getFullYear() + 1, dateMin.getMonth(), dateMin.getDate());
}
} else if (input.id === "booking-finish") {
dateMax = new Date(dateMin.getFullYear() + 1, dateMin.getMonth(), dateMin.getDate()); //Set this to your absolute maximum date
if ($("#booking-start").datepicker("getDate") != null) {
dateMin = $("#booking-start").datepicker("getDate");
var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange);
if (rangeMax < dateMax) {
dateMax = rangeMax;
}
}
}
return {minDate: dateMin, maxDate: dateMax};
}
$('.datepicker').datepicker({
minDate:0,
dateFormat: 'dd-mm-yy',
beforeShow: customRange,
onClose: function (dateText, inst) {
jQuery(inst.input).removeClass('openDatepicker');
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment