Почему DatePicker beforeShowDay не работает, как ожидалось - PullRequest
1 голос
/ 30 января 2012

У меня проблемы с создателем дат, который я создал.Я использую очень похожую программу выбора даты на той же странице без каких-либо проблем.Выбор даты отображается без выбора дней, хотя, когда я отлаживаю функцию limitToOneYear, он возвращает true в течение нескольких дней.Я скучаю по чему-то простому и очевидному?

    function limitToOneYear(date) {
        var thisdate = Date.parse(date);
        var now = new Date();
        var today = Date.parse(new Date(now.getFullYear(),now.getMonth(),now.getDate()));
        var maxDate = Date.parse(new Date((now.getFullYear() + 1), now.getMonth(), now.getDate()));
        return (thisdate >= today && thisdate < maxDate);
    }

    $(".expirationDate").datepicker({
        showOn: 'both',
        buttonImage: '/images/datepicker/button.gif',
        buttonImageOnly: true,
        beforeShowDay: limitToOneYear
    });

Ответы [ 2 ]

1 голос
/ 30 января 2012

Если вы не возвращаете массив из вашей функции limitToOneYear в соответствии с API DatePicker для beforeShowDay

Так что ваша функция limitToOneYear должна выглядеть примерно так

function limitToOneYear(date) {         
    var thisdate = Date.parse(date);         
    var now = new Date();         
    var today = Date.parse(new Date(now.getFullYear(),now.getMonth(),now.getDate()));         
    var maxDate = Date.parse(new Date((now.getFullYear() + 1), now.getMonth(), now.getDate()));         
    return [(thisdate >= today && thisdate < maxDate), '']; 
} 
1 голос
/ 30 января 2012

Я нашел решение, поэтому я публикую его, но я все еще хотел бы понять, почему мое предыдущее решение не работает, поэтому я выберу другой ответ, если он будет представлен, но в итоге я воспользовался minDate maxDate свойства DatePicker:

    var now = new Date();
    var endDate = now;
    endDate = new Date((now.getFullYear() + 1), now.getMonth(), now.getDate());
    $(".expirationDate").datepicker({
        showOn: 'both',
        buttonImage: '/images/datepicker/button.gif',
        buttonImageOnly: true,
        minDate : now, 
        maxDate: endDate
    });
...