多次调用BeforeShowDay

时间:2016-05-22 17:19:02

标签: javascript jquery-ui jquery-ui-datepicker

我有一个JQuery UI Datepicker小部件,其beforeShowDay调用highlightday函数。该函数采用日期和要突出显示的日期列表。如果日期在列表中,则为其提供“事件”类。

function highlightday(date, highdates) {
  for (var i = 0; i < highdates.length; i++) {
    if ($.datepicker.formatDate("yy-mm-dd", date) === highdates[i]) {
      return [true, 'event'];
    }
  }
  return [true, ''];
}

这很好用。 “事件”日期标记正确。

但是,日期列表是从服务器获取的,仅适用于选定的月份。因此,如果datepicker在5月开始,fetchdates函数会在5月份请求包含事件的日期,并将其分配给var dates

问题是当用户选择不同的月份时。我设置了onChangeMonthYear来调用changemonth函数,这只是

function changemonth(year, month) {
  this.dates = fetchdates(this.id, year + "-" + month);
}

dates变量已正确更新,但新日期未突出显示,因为beforeShowDay已调用highlightdayrefresh()什么也没做。

1 个答案:

答案 0 :(得分:0)

原来这是我的错误。 dates未正确更新。