Я хочу показать календарь с включенными днями, моя проблема, если дни в разные месяцы, работает только в первый месяц, как пример
дни 1 и 2 в декабре также должны быть включены.
/*arrayDaysToshow is my array with the dates to show in calendar*/
$('#schedulingCalendar').datepicker({
numberOfMonths: 2,
dateFormat: 'dd/mm/yy',
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('d-m-yy', date);
return [ $.inArray(string, arrayDaysToshow) >= 0 ]
},
onSelect: function(){
debugger;
$("#panelCalendar").animate({'height': '150px'}, 100);
}
});
ваш код в jsfiddle действительно работает, проблема в том, что даты в начале декабря не имеют нулевого значения. Таким образом, самым быстрым решением является просто взять ведущий 0.
Рабочий скрипт: https://jsfiddle.net/b73bmn3e/6/
В принципе,
Вместо этого:
var arrayDaysToshow = ["30-11-2017", "01-12-2017", "02-12-2017"];
Сделай это:
var arrayDaysToshow = ["30-11-2017", "1-12-2017", "2-12-2017"];
Или добавьте некоторый код в обработчик beforeShowDay
для обработки присутствия или отсутствия beforeShowDay
нулей в месячной и дневной частях дат. Его действительно до вас, как вы хотите справиться с проблемой сейчас, когда вы знаете, что это такое :)
ура