jquery datepicker:beforeShowDay

时间:2013-04-09 12:53:42

标签: jquery datepicker

我想更改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中找不到任何有用的功能。

1 个答案:

答案 0 :(得分:0)

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