0

日付ピッカーで日付のクリック可能な状態を変更したい。したがって、私は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で便利な機能を見つけられませんでした.

4

1 に答える 1