I'm looking for a solution to add a minimum data range in flatpicks.js For example, if the first selected date is 1 Sep the minimum next one selectable is 6 Sep.
I was thinking first of the "disable" option, but apparently, that will not work. (Flatpicker min days for range date)
Any other solutions to achieve this?
Thank you!
You can achieve this using the Flatpickr onChange
event.
In the onChange
event we will then add 7 days to the second Flatpickr using minDate: new Date(start_date).fp_incr(increase_number_of_days);
Example:
$(document).ready(function() {
let start_date = $('#start_date');
let end_date = $('#end_date');
start_date.flatpickr({
dateFormat: "d-m-Y",
disableMobile: true,
minDate: "today",
onChange: function(selectedDates) {
end_date.flatpickr({
dateFormat: "d-m-Y",
minDate: new Date(selectedDates).fp_incr(6), // add 7 days
});
}
});
end_date.flatpickr({});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.11/flatpickr.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flatpickr/4.6.11/flatpickr.min.js"></script>
<input id="start_date" style="width:200px;">
<input id="end_date" style="width:200px;">