Я использую Pikaday datepicker. Все работает хорошо, но для некоторых сложных манипуляций с датами мне нужно добавить / удалить несколько дат.
<code>
var start_date = new Pikaday({
disableDayFn: function(date) {
var enabled_dates = ["06/11/2019","06/17/2019","06/24/2019"]; // dates I want to enable.
var disabled_dates = ["06/15/2019", "06/22/2019"]; // dates I want to disable.
if ((date.getDay() === 1 || date.getDay() === 2 || ($.inArray(moment(date).format("MM/DD/YYYY"), disabled_dates) === 0)) && $.inArray(moment(date).format("MM/DD/YYYY"), enabled_dates) === -1) {
return date;
}
},
format: 'MM/DD/YYYY',
field: document.getElementById('start_date'),
});
</code>
В этом примере выше:
[это отлично работает] Я использую массив enabled_dates для включения нескольких дат, которые мне нужно отображать в календаре.
[это прекрасно работает] Я удаляю ВСЕ понедельники и вторники, используя фактическое значение дня '1' и '2', например: date.getDay () === x
[не работает], когда я пытаюсь передать несколько дат в массиве, первая дата удаляется, но последующие даты не обрабатываются.
В этом примере все хорошее, за исключением даты «22.06.2009», не удаляемой, так как появляется, удаляет только первую дату в массиве, а не последующую
Демонстрация скрипки:
http://jsfiddle.net/netfast/k36nhacz/18/