Код: Выделить всё
$("#dt_start").on("dp.change", function (e) {
$('#dt_end').data("DateTimePicker").minDate(e.date);
});
$("#dt_end").on("dp.change", function (e) {
$('#dt_start').data("DateTimePicker").maxDate(e.date);
});
Код: Выделить всё
const pairsOfDates = [
{
start: 'dt_start',
end: 'dt_end'
},
{
start: 'dt_start_edit',
end: 'dt_end_edit'
}
// among others...
]
Код: Выделить всё
pairsOfDates.forEach(function (config) {
// Listener for start date
$('#' + config.start).on("dp.change", function (e) {
updatesDeadlines(e, config.start, config.end, false);
});
// Listenor for end date
$('#' + config.end).on("dp.change", function (e) {
updatesDeadlines(e, config.start, config.end, true);
});
});
Код: Выделить всё
function updatesDeadlines(e, idStart, idEnd, isMaxDate) {
if (!e.date) return;
if (isMaxDate) {
$('#' + idStart).data("DateTimePicker").maxDate(e.date);
} else {
$('#' + idEnd).data("DateTimePicker").minDate(e.date);
}
}
Так как же я могу уменьшить повторение этого шаблона? Или лучше всего использовать картографирование? Или оставить все как есть?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ap-datetim
Мобильная версия