Итак, мой код такой, как показано ниже:
var date = new Date();
var active_dates = [<?php
$i=0;
for($i=0;$i<=count($booked_dates);$i++) {
echo "'".$booked_dates[$i]."',";
}
?>];
date.setDate(date.getDate()+1);
$('#single_datepicker_1').datepicker({
rtl: KTUtil.isRTL(),
todayHighlight: true,
templates: arrows,
startDate: date, //disable all old dates
setDate: date, //tomorrow's date allowed
multidate: true,
format: 'dd/mm/yyyy',
beforeShowDay: function(date){
var d = date;
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
var formattedDate = curr_date + "/" + curr_month + "/" + curr_year
if ($.inArray(formattedDate, active_dates) != -1){
return {
classes: 'bookedDates'
};
}
return;
}
//maxDate: '28/12/2019'
});
Теперь код, который запрещает регистрируемые даты, может быть активирован и отображать предупреждающее сообщение:
$('.bookedDates').click(function(event) {
console.log('Preventing');
event.preventDefault();
event.stopPropagation();
alert("fdf");
});
Теперь, основываясь на приведенном выше коде, мой DatePicker выглядит как показано ниже:
Однако проблема заключается в том, что когда я go до следующего месяца, например, апрель, тогда предупреждающее сообщение не отображается и причина в том, что апрель месяц изначально не загружен на DatePicker. Текущий месяц - март.
Поэтому, если вы нажмете на любую из указанных ниже дат, предупреждение не будет отображаться:
может Кто-нибудь, пожалуйста, дайте мне знать, что я должен сделать, чтобы предупредительное сообщение отображалось, если я нажму на даты апреля месяца. Спасибо:)