flatpickr: установить дату второго выбора даты на ту же дату первого - PullRequest
0 голосов
/ 29 мая 2019

Я использую flatpikr https://flatpickr.js.org/ Я хочу, чтобы при закрытии события сборщика исходящих событий (только дата) установить начальную дату сборщика возврата на ту же дату, которая была выбрана в первой.Я написал этот код, который работает, но не переключается на правильную страницу месяца, он просто отключает все даты, предшествующие выбранной, в исходящем средстве выбора.Здесь вы можете проверить, что происходит в форме бронирования.

https://anekitalia.com/en/

Я пытался использовать defaultDate вместо minDate в функции закрытия, но она не работает.

<script>
 $( function() {
 /*selecting datepiker language*/
 flatpickr.localize(flatpickr.l10ns.en);
 /*declaring return datepicker*/
 var FLATPICKER_RITORNO = flatpickr('#cal_DATA_RITORNO', {
 altInput: true,
 altFormat: "j F, Y",
 dateFormat: "d-m-Y", 
 disableMobile: "true",
 maxDate: new Date().fp_incr(365),
 });
 /*declaring outbound datepicker*/
 $("#cal_DATA_ANDATA").flatpickr(
 {
 altInput: true,
 altFormat: "j F, Y",
 dateFormat: "d-m-Y",
 disableMobile: "true",
 minDate: "today",
 maxDate: new Date().fp_incr(365),
 defaultDate: "today",
 /* setting initial date of return picker to the one selected in 
 outbound*/
 onClose: function( selectedDates, dateStr, instance ) {
 FLATPICKER_RITORNO.set( 'minDate', dateStr)}
 });
 } );
</script>

1 Ответ

0 голосов
/ 30 мая 2019

исправили это, добавив setDate (dateObj) и изменив событие onClose на onChange, чтобы код теперь выглядел следующим образом

<script>
 $( function() {
 /*selecting datepiker language*/
 flatpickr.localize(flatpickr.l10ns.en);
 /*declaring return datepicker*/
 var FLATPICKER_RITORNO = flatpickr('#cal_DATA_RITORNO', {
 altInput: true,
 altFormat: "j F, Y",
 dateFormat: "d-m-Y", 
 disableMobile: "true",
 maxDate: new Date().fp_incr(365),
 defaultDate: "today"
 });
/*declaring outbound datepicker*/
 $("#cal_DATA_ANDATA").flatpickr(
 {
 altInput: true,
 altFormat: "j F, Y",
 dateFormat: "d-m-Y",
 disableMobile: "true",
 minDate: "today",
 maxDate: new Date().fp_incr(365),
 defaultDate: "today",
 /* setting initial date of return picker to the one selected in 
 outbound*/
 onChange: function(dateStr, dateObj) {
 FLATPICKER_RITORNO.set( "minDate", dateObj);
 FLATPICKER_RITORNO.setDate(dateObj);
 }
 });
 });
</script>
...