I am using flatpickr
as a datetime picker on my app. This date picker allows for multiple dates to be selected. I am getting the date which I have last selected (the dates which are selected looks like marked ). But the problem is when I choose a date randomly from multiple dates I can't fetch that date .
Here is my jQuery Code
$("#available-calendar").flatpickr({
disableTime: true,
dateFormat: "Y-m-d",
inline: true,
mode: "multiple",
minDate: "today",
defaultDate: newDates,
onChange: function(selectedDates, dateStr, instance) {
var selectedDates = dateStr.split(",");
var latestDate = selectedDates[selectedDates.length-1];
console.log(latestDate);
alert(latestDate);
},
});
here newDates
are array Of Dates fetching from database.
I afraid there is no support method from flatpickr
now. I will give you a trick to get deselected date by store it in global variable
. it might work in your case
$(() => {
let defaultDate = ["2018-06-20", "2018-06-22"]
let selected = _.cloneDeep(defaultDate)
$("#test").flatpickr({
disableTime: true,
dateFormat: "Y-m-d",
inline: true,
mode: "multiple",
minDate: "today",
defaultDate: defaultDate,
onChange: function(selectedDates, dateStr, instance) {
let newDate = _.chain(dateStr)
.split(',')
.map(_.trim)
.value();
if (newDate.length < selected.length ) {
let deselected = _.difference(selected, newDate);
console.log(deselected)
}
selected = _.cloneDeep(newDate)
}
});
});