Javascript jQuery日期选择器onChangeMonthYear不';不要在本月点火

Javascript jQuery日期选择器onChangeMonthYear不';不要在本月点火,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我在内联使用datepicker,突出显示包含事件的日期。每当月份发生变化时,它都必须从服务器加载新事件。问题是,onChangeMonthYear只在与当前月份不同的月份启动。例如,如果是8月,则它在所有前几个月(7月、6月、5月…)和所有后续月份(9月、10月…)都会启动,但在我切换回8月时不会启动。这是我的代码: function highlightDates(date) { for ( var i = 0; i < agenda.length; i++) {

我在内联使用datepicker,突出显示包含事件的日期。每当月份发生变化时,它都必须从服务器加载新事件。问题是,onChangeMonthYear只在与当前月份不同的月份启动。例如,如果是8月,则它在所有前几个月(7月、6月、5月…)和所有后续月份(9月、10月…)都会启动,但在我切换回8月时不会启动。这是我的代码:

function highlightDates(date) {
    for ( var i = 0; i < agenda.length; i++) {
        var start = agenda[i].start.toShortDate();
        var end = agenda[i].end.toShortDate();

        if (start >= date && end <= date) {
            return [ true, 'dateHasEvent' ];
        }
    }

    return [ true, '' ];
}

Date.prototype.toShortDate = function() {
    var date = new Date(this.getFullYear(), this.getMonth(), this.getDate());
    return date;
};

function monthChanged(year, month, instance) {
    var date = new Date(year, month - 1);

    $.getJSON('json.do', {
        time : date.getTime()
    }, updateCalendars);
}

function updateCalendars(data, status) {
    agenda = data;
    $('#calendar').datepicker('refresh');
}

var agenda = [];

$(function() {    
    $('#calendar').datepicker( {
        beforeShowDay : highlightDates,
        onChangeMonthYear : monthChanged,
        changeMonth : false,
        changeYear : false,
        showButtonPanel : false
    });
});
函数高亮显示日期(日期){
for(var i=0;i如果(start>=date&&end那么,这对我来说是愚蠢的。问题是getJSON方法。它显然对它接受的json非常挑剔。所以在我生成正确的json之后,一切都正常工作了