Side navigation
#1996 closed bug (fixed)
Opened December 02, 2007 12:34PM UTC
Closed January 11, 2008 04:17AM UTC
datepicker - next/prev with multiple months and min/max
Reported by: | emielroelofsen | Owned by: | kbwood |
---|---|---|---|
Priority: | major | Milestone: | 1.2.2 |
Component: | ui | Version: | 1.2.1 |
Keywords: | datepicker | Cc: | emielroelofsen@hotmail.com |
Blocked by: | Blocking: |
Description
The function _canAdjustMonth is't correct.
Example
I want to show 3 months ( numberOfMonths: 3 )
My minimum date is 2008-01-26 ( minDate: new Date(2008, 1 - 1, 26) )
My maximum date is 2008-04-27 ( minDate: new Date(2008, 4 - 1, 27) )
hideIfNoPrevNext is set to true
Because of the bug in the function _canAdjustMonth I can press the next button until juni 2008.
The solution is also to calculate the numberOfMonths.
Solution
OLD FUNCTOIN
_canAdjustMonth: function(offset) { var date = new Date(this._selectedYear, this._selectedMonth + offset, 1); if (offset < 0) { date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); } return this._isInRange(date); },
NEW FUNCTION
_canAdjustMonth: function(offset) { var month = offset > 0 ? this._selectedMonth + offset + this._get('numberOfMonths') - 1 : this._selectedMonth + offset; var date = new Date(this._selectedYear, month, 1); if (offset < 0) { date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); } return this._isInRange(date); },
Emiel Roelofsen
Attachments (0)
Change History (3)
Changed January 09, 2008 03:06AM UTC by comment:1
owner: | → kbwood |
---|---|
status: | new → assigned |
Changed January 10, 2008 04:56AM UTC by comment:2
summary: | ui.datepicker.js → datepicker - next/prev with multiple months and min/max |
---|
Changed January 11, 2008 04:17AM UTC by comment:3
resolution: | → fixed |
---|---|
status: | assigned → closed |
Implemented a fix that prevents non-selectable months at the end of a multiple month display (unless also constrained by the minDate).