我想更改datepicker中日期的可点击状态。因此我使用beforeShowDay:
$('#datepicker').datepicker({
inline: true,
beforeShowDay: function(date){
var dateTime = parseInt(date.getTime()/1000);
if (isWeekend(date)){
return [false,''];
}
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
var specialDates = getSpecialSet(y,m);
for (i = 0; i < specialDates.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,specialDates) != -1 || new Date() > date) {
console.log('HL: '+(m+1) + '-' + d + '-' + y);
return [true,'highlight1','Almost sold out'];
}
}
return [true,'normal']; // ordinary day
},
onSelect: function(dateText, inst) {
var d = new Date(dateText);
cal_gotoDate(d);
}
});
我通过函数getSpecialSet(y,m)
加载 specialDates 。此功能将在当月的每个日期运行。因为我的特殊日期非常大:未来20年有特殊日期。我喜欢只在当前月份加载ajax的specialset。
但我需要一个函数,在月份更改为通过ajax预加载我的specialDates之后调用它。
但我在api中找不到任何有用的功能。
答案 0 :(得分:0)
使用Ajax预先加载所有月份数据,但是在Ajax调用的回调函数中将datepicker与#DataePicker相关联的代码。