var active_dates1 = ["2017-04-02 00:00:00","2014-04-03 00:00:00","2014-04-01 00:00:00"];
$('.datePick', this.$el).datepicker(
beforeShowDay: function (date) {
for(let date1 of active_dates1){
if (date.getTime() === new Date(date1).getTime()) {
return { classes: 'activeClass' };
}
else {
return {};
}
}
}
});
当我使用上面的代码时,它正在改变所有日期的颜色。但我想改变特定日期的颜色。
答案 0 :(得分:1)
只使用简单的if条件并注意变量和函数参数名称都相同导致问题。 我假设你的参数是字符串。
beforeShowDay: function (date) {
for (let item of active_dates1) {
if(item == date)
return { classes: 'activeClass' };
else // return empty object or or somthing else
return {};
}
}
根据jquery ui documantion返回的对象必须是一个数组。第一个文字是true / false,用于启用或禁用日期选择,第二个是CSS类。 所以你的最终代码是这样的
if (date.getTime() === new Date(date1).getTime()) {
return [true,'activeClass'];
}
else {
return [true,''];
}