jQuery datepicker onChangeMonthYear не срабатывает в текущем месяце - PullRequest
0 голосов
/ 13 августа 2010

Я использую встроенный указатель даты, выделяя даты, в которых есть события. Каждый раз, когда меняется месяц, он должен загружать новые события с сервера. Проблема в том, что onChangeMonthYear срабатывает только в месяцы, отличные от текущего месяца. Например, если август, он срабатывает во все предыдущие месяцы (июль, июнь, май ...) и все последующие месяцы (сентябрь, октябрь ...), но не тогда, когда я возвращаюсь в август Это мой код:

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

Кто-нибудь знает, является ли это ошибкой или ожидаемым поведением?

1 Ответ

0 голосов
/ 13 августа 2010

Ну, это было глупо с моей стороны.Проблема была в методе getJSON.Это, очевидно, очень требовательно к тому, что он принимает.Поэтому после того, как я произвел правильный json, все заработало как надо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...