日付ピッカーで日付のクリック可能な状態を変更したい。したがって、私は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);
}
});
functionを介してspecialDatesをロードしますgetSpecialSet(y,m)
。この関数は、当月の日付ごとに実行されます。私の specialDates セットは非常に大きいため、次の 20 年間の specialDates があります。今月だけ ajax でスペシャルセットをロードするのが好きです。
しかし、月が変更された後に呼び出され、ajax を介して specialDates をプリロードする関数が必要です。
しかし、私はAPIで便利な機能を見つけられませんでした.