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);
    }
});

我通过函数加载我的specialDatesgetSpecialSet(y,m)。此函数将针对当前月份的每个日期运行。因为我的 specialDates 集非常大:未来 20 年有 specialDates。我喜欢仅在当月通过 ajax 加载特殊集。

但我需要一个在月份更改后调用的函数,以通过 ajax 预加载我的 specialDates。

但我没有在 api 中找到任何有用的功能。

4

1 回答 1

0

使用 Ajax 预先加载所有月份的数据,但是在 Ajax 调用的回调函数中将日期选择器与 #DataePicker 关联的代码。

于 2013-05-08T06:47:49.980 回答