2015-12-21 2 views
3

Я пытаюсь показать список дат начала, но по какой-то причине моя функция, похоже, показывает даты с этого года, а не с 2016 года. Я добавил код ниже вместе с ссылка jsfiddle. Любая помощь с этим была бы замечательной, я всюду искал, как заставить это работать, но нашел что-нибудь, что может помочь в датах следующего года.jQuery datepicker, не показывающий следующие даты лет

HTML

<div id="date"></div> 

JQuery

var availableDates = ["25-12-2015", "02-01-2016"]; 

function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, availableDates) != -1) { 
    return [true, "", "Available"]; 
    } else { 
    return [false, "", "unAvailable"]; 
    } 
    console.log(dmy, availableDates); 
} 

var lastDate = new Date("2016-10-31"); 

$('#date').datepicker({ 
    dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], 
    firstDay: 1, 
    beforeShowDay: available, 
    minDate: "-0M", 
    maxDate: lastDate 
}); 

jsfiddle

ответ

2

Проблема заключается в том getDate() для 2 вернется 2 вместо 02. И то же самое с getMonth().

Либо измените ваш availableDates на: -

var availableDates = ["25-12-2015", "2-1-2016"]; 

или заменить dmy следующим образом: -

dmy = ("0" + date.getDate()).slice(-2) + "-" + ("0" + (date.getMonth()+1)).slice(-2) + "-" + date.getFullYear(); 

Fiddle

+0

Отлично, спасибо большое за ответ – huddds

+0

рад, что я мог бы помочь. .. – BenG

Смежные вопросы