Как в календаре datapicker отключить выборочные даты по формуле?
Есть библиотечка js datapicker
Я по api получаю объект c определенными датами и хочу сделать так, чтобы в выпадающем календаре были доступны только получаемые из с бека. Как это можно сделать, учитывая, что есть свойство disabler в котором можно отключать глобально дни, месяцы календаря и метод disabledDates для более тонкой настройки в котором можно задавать определенный перечень нужных дат setTimeout(() => { if (Values) { picker = datepicker(datePickerElem, { disabler: date => { var datelist = []; for (var i = 0; i <= 30; i++) { if (Values[i] == undefined) continue; for (key in Values[i]) break; var result = Values[i][key].date; datelist.push(result); } return date.getDay() === datelist; }, disabledDates: [new Date('2020-11-16'), new Date('2020-11-19')] } } }, 500); |
js-datepicker рабочие дни из массива дат
giwuf,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> </style> <script src="https://unpkg.com/js-datepicker"></script> <link rel="stylesheet" href="https://unpkg.com/js-datepicker/dist/datepicker.min.css"> </head> <body> <input type="text" class="some-input" > <script> let dataApi = [new Date('2020-11-16'), new Date('2020-11-19')]; const picker = datepicker('.some-input', { alwaysShow: true, disabler: d =>!dataApi.map(v => v.setHours(0)).includes(d.getTime()) }) </script> </body> </html> |
Огромное спасибо, рони! Блестяще! :victory:
|
Часовой пояс GMT +3, время: 16:08. |