在 flatpickr 中获取取消选择的日期时出错
Error in fetching deselected date in flatpickr
我在我的应用程序上使用 flatpickr
作为日期时间选择器。此日期选择器允许选择多个日期。我正在获取我上次选择的日期(选择的日期看起来像标记的)。但问题是当我从多个日期中随机选择一个日期时,我无法获取该日期。
这是我的jQuery代码
$("#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);
},
});
这里 newDates
是从数据库中获取的日期数组。
恐怕flatpickr
现在没有支持方法了。我会给你一个技巧,通过将日期存储在 global variable
中来取消选择日期。它可能适用于您的情况
$(() => {
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)
}
});
});
我在我的应用程序上使用 flatpickr
作为日期时间选择器。此日期选择器允许选择多个日期。我正在获取我上次选择的日期(选择的日期看起来像标记的)。但问题是当我从多个日期中随机选择一个日期时,我无法获取该日期。
这是我的jQuery代码
$("#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);
},
});
这里 newDates
是从数据库中获取的日期数组。
恐怕flatpickr
现在没有支持方法了。我会给你一个技巧,通过将日期存储在 global variable
中来取消选择日期。它可能适用于您的情况
$(() => {
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)
}
});
});