2015-12-21 54 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而不是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

相關問題