Skip to main content

Bug Tracker

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 kbwood comment:1

owner: → kbwood
status: newassigned

Changed January 10, 2008 04:56AM UTC by kbwood comment:2

summary: ui.datepicker.jsdatepicker - next/prev with multiple months and min/max

Changed January 11, 2008 04:17AM UTC by kbwood comment:3

resolution: → fixed
status: assignedclosed

Implemented a fix that prevents non-selectable months at the end of a multiple month display (unless also constrained by the minDate).