如何在javascript中将颜色设置为特定日期

时间:2017-04-05 11:22:11

标签: javascript angular

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 {};
            }
            }

        }
    });

当我使用上面的代码时,它正在改变所有日期的颜色。但我想改变特定日期的颜色。

1 个答案:

答案 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,''];
 }