在datetime-picker AngularJs中的特定日期显示颜色

时间:2019-02-23 13:40:03

标签: angularjs datepicker

我在angularjs中使用引导程序datetime-picker

我需要在某些特定日期(即周末和节假日)显示颜色

这是我的日期选择器选项:-

$scope.dateOptions = {
            dateFormat: 'yyyy-MM-dd',
            maxDate: new Date(2020, 5, 22),
            minDate: new Date(),
            startingDay: 1,
            onChangeDate: countDays
        };

我从数据库中可以找到假期列表,也可以确定周末。

如何显示特定日期的颜色?

我尝试使用一些自定义CSS,但是它不适用于所有日期。

谢谢!

1 个答案:

答案 0 :(得分:1)

回答您的问题

  

如何显示特定日期的颜色?

Bootstrap datetime-picker for Angularjs请提供一个应用自定义类的选项。

尝试一下

   $scope.dateOptions = {
            dateFormat: 'yyyy-MM-dd',
            maxDate: new Date(2020, 5, 22),
            minDate: new Date(),
            startingDay: 1,
            onChangeDate: countDays,
            customClass: getDayClass // fucntion having logic to select particular dates
      };

getDayClass函数可以像这样实现

function getDayClass(data) {
    var date = data.date,
      mode = data.mode;
    if (mode === 'day') {
      var dayToCheck = new Date(date).setHours(0,0,0,0);

      for (var i = 0; i < $scope.events.length; i++) {
        var currentDay = new Date($scope.events[i].date).setHours(0,0,0,0);

        if (dayToCheck === currentDay) {
          return $scope.events[i].status;
        }
      }

      // check for weekend 0 for sun and 6 for sat
      if(date.getDay() == 0 || date.getDay() == 6)
      {
          return 'full';   //return class to be applied
      }
    }

    return '';
  }

设置日期类别

  var tomorrow = new Date();
  tomorrow.setDate(tomorrow.getDate() + 1);
  var afterTomorrow = new Date(tomorrow);
  afterTomorrow.setDate(tomorrow.getDate() + 1);
  $scope.events = [
    {
      date: tomorrow,
      status: 'full'
    },
    {
      date: afterTomorrow,
      status: 'partially'
    }
  ];

日期选择器在初始化时为每个日期调用日期选择器选项。

您可以检查Plunker example