2016-09-23 187 views
0

我無法理解如何設置jquery Datepicker的最小/最大日期。當我檢查docs時,我看到dateformat預計在new Date(2009, 1 - 1, 26)1-1是什麼意思?當我爲js dateformats學校w3c,我無法找到這個。設置最小/最大日期jquery Datepicker

所以,我想

$("#datepicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: 'yyyy-mm', 
    minDate: new Date(2001-01), 
    maxDate: '+15Y' 
}); 

但是,這給我留下了完全隨機的結果...它始於2006年,結束2026

這裏是小提琴 http://jsfiddle.net/ANF2y/58/

enter image description here

+0

在JavaScript ['Date'](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date)對象'month'被計算爲0爲11.設置月份使用'當前月份-1'。 – Pugazh

+0

@Pugazh好的。但爲什麼開始**日期**實現爲'1-1' ?! – Stophface

+0

@Stophface本月而不是日期。 '新日期(年,月,日)' – Rajesh

回答

1

在JavaScript中,month是從0到11計算的。因此,在創建新日期時當前月份 - 1

1 - 1等同於0。所以這是一個有效的月份(0 - January)。

你的情況如下設置minDate

$("#datepicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    minDate: new Date(2001, 0, 1), 
    maxDate: '+15Y', 
    dateFormat: 'yyyy-mm' 
}); 

,這是因爲jQuery的日期選擇器只能顯示15個項目的時間,也沒有最大日期設置,所以你可以去遠在未來,只要你想。當它設置爲2001年時,您會在下拉菜單中看到2006年,因爲它限制爲15個項目。選擇2006年,然後你會在下拉菜單中看到2001年。您的問題是否可以在年份下拉列表中顯示更多項目?

+0

這一個:http://jsfiddle.net/ANF2y/60/從2001年開始在您的電腦上?在這裏它開始於2006年,結束於2026年... – Stophface

+0

這是一個jQuery [Datepicker](http://api.jqueryui.com/datepicker/)的錯誤。但你可以通過使用箭頭選擇前幾個月:-( – Pugazh

+0

我將向開發人員/ jQuery論壇報告錯誤!! – Pugazh

1

我不打算進入minDate或maxDate,因爲這已被很好地涵蓋。但除此之外,你正在尋找的是yearRange將設置jQuery日期選擇器的年下拉菜單中可見項目的數量。

的文檔狀態:

在今年下拉顯示年份的範圍:無論是相對於今天的年(「-NN:+ NN」),相對於當前選擇的年份(「C -nn:c + nn「),絕對值(」nnnn:nnnn「)或這些格式的組合(」nnnn:-nn「)。請注意,該選項僅影響下拉菜單中顯示的內容。

Reference

相關問題