我想显示启用了几天的日历,我的问题是,如果日期在不同的月份,只能在第一个月开始工作 example
12月的第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);
}
});
答案 0 :(得分:0)
你在jsfiddle的代码实际上是有效的,问题实际上只是12月初的日期没有领先的零。因此,最快的解决方案是将领先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
处理程序添加一些代码,以处理日期的月份和日期部分中是否存在前导零。现在你知道它是什么,它真的取决于你如何处理这个问题:)
干杯