我有一个JQuery UI数据报头小部件,它有一个调用highlightday函数的beforeShowDay。该函数接受日期,以及要突出显示的日期列表。如果日期在列表中,则会给出"event“类。
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, ''];
}这个很好用。“事件”日期被正确标记。
然而,日期列表是从服务器获取的,并且仅用于选定的月份。因此,如果数据报警器在5月份启动,fetchdates函数将请求日期为5月份的事件,并将其分配给var dates。
问题是当用户选择不同的月份时。我将onChangeMonthYear设置为调用changemonth函数,这很简单
function changemonth(year, month) {
this.dates = fetchdates(this.id, year + "-" + month);
}dates变量被正确更新,但是新的日期没有突出显示,因为beforeShowDay已经调用了highlightday。refresh()什么也不做。
发布于 2016-05-22 18:20:17
原来这是我的错。dates没有被正确更新。
https://stackoverflow.com/questions/37377293
复制相似问题