Я использую jQuery UI Datepicker и расширение для него https://habr.com/ru/post/303186/
На данный момент я использую такой код для Datepicker:
$(function() {
var array = ["2016-11-20","2016-11-25","2016-12-03"]
var string, day, month, year, cached = {};
$('#date_range').datepicker({
range: 'period', // режим - выбор периода
numberOfMonths: 2,
dateFormat: "dd.mm.yy",
minDate: 0,
maxDate: 14,
onSelect: function(dateText, inst, extensionRange) {
// extensionRange - объект расширения
$('#date_range').val(extensionRange.startDateText + ' - ' + extensionRange.endDateText);
},
beforeShowDay: function(date){
month = ('0' + (date.getMonth() + 1)).slice(-2);
day = ('0' + (date.getDate())).slice(-2);
year = date.getFullYear();
string = [year, month, day].join('-');
if(typeof cached[string] === 'undefined') {
cached[string] = array.indexOf(string) === -1;
}
return [ cached[string], '', '' ]
}
});
// объект расширения (хранит состояние календаря)
var extensionRange = $('#date_range').datepicker('widget').data('datepickerExtensionRange');
if(extensionRange.startDateText) $('[name=startDate]').val(extensionRange.startDateText);
if(extensionRange.endDateText) $('[name=endDate]').val(extensionRange.endDateText);
});
Мне нужно сделать, чтобы при выборе первой даты выделилось 14 дней, которые пользователь может выбирать, остальные даты становятся не активными.
Например, пользователь выбирает 1 апреля и ему показывает, что далее он может выбрать только 15 дней, до 15 апреля. Или пользователь выбирает 15 апреля и ему показывает, что можно выбрать даты до 30 апреля, не более.
Скажите, как это можно сделать? Спасибо!
Продвижение своими сайтами как стратегия роста и независимости