Skip to main content

Search and Top Navigation

#4481 closed bug (wontfix)

Opened April 17, 2009 01:55PM UTC

Closed November 30, 2009 12:38AM UTC

Last modified May 16, 2010 03:24PM UTC

beforeShowDay breaks dialog when element is inline

Reported by: dmfontz Owned by:
Priority: minor Milestone: 1.8
Component: ui.datepicker Version: 1.7.1
Keywords: beforeShowDay,inline Cc:
Blocked by: Blocking:
Description

Seems to be related to the time it takes the beforeShowDay to execute. Adding a time out is a workaround. I also changed the beforeShowDay function to just return true and it worked. However, when the function actually does some processing the dp will not render.

See example here: http://jsbin.com/owita/edit

See discussion here: http://groups.google.com/group/jquery-ui/t/533b660261d3458d

Attachments (0)
Change History (3)

Changed May 07, 2009 10:25AM UTC by jzaefferer comment:1

component: ui.dialogui.datepicker
milestone: TBD1.7.2

Changed May 07, 2009 01:30PM UTC by jzaefferer comment:2

milestone: 1.7.21.8

Changed November 30, 2009 12:38AM UTC by kbwood comment:3

resolution: → wontfix
status: newclosed

The problem appears to be that the callback function cannot access the array of dates to exclude, probably because it is all declared within the $(function() {}) initialiser callback. If the array and callback function are moved outside of this it all works again:

$(function() {
  $("#datepickerthing").datepicker({ 
    beforeShowDay: nationalDays,
    altField: '#actualDate', 
    minDate:'-11M', 
    maxDate: '+2M'
  });
}); 

  var natDays = ["4/22/2009","4/23/2009","4/24/2009","4/25/2009","4/26/2009","5/27/2009","5/28/2009","6/26/2009","6/27/2009","6/28/2009","6/29/2009","6/30/2009"];
  function nationalDays(date) {
    var sDate = (date.getMonth()+1).toString() + "/" + date.getDate().toString() + "/" + date.getFullYear().toString();
    if ($.inArray(sDate, natDays) != -1) return [false,"","Not this day!"];
    else return [true, ""];
  }