角UI引导当前日期(今天)的亮点不选择(Angular ui bootstrap current d

2019-10-19 18:18发布

我使用Angular.UI引导日期选择器( http://angular-ui.github.io/bootstrap/#/datepicker )

现在我挑战一个问题:客户总是希望看到当前日期强调,即使不选择它。 就像在这个例子中( http://angular-ui.github.io/ui-date/ )。

试图谷歌这个问题,但没有解决发现Angular.UI引导日期选择器。

没有办法,切换到UI更新。 有任何想法吗?

谢谢!

Answer 1:

在日期选择器控制替换此

var days = getDates(firstDate, numDates), labels = new Array(7);
for (var i = 0; i < numDates; i++) {
  var dt = new Date(days[i]);
  days[i] = makeDate(dt, format.day, (selected && selected.getDate() === dt.getDate() && selected.getMonth() === dt.getMonth() && selected.getFullYear() === dt.getFullYear()), dt.getMonth() !== month);
}

var today = new Date();
var days = getDates(firstDate, numDates), labels = new Array(7);
for (var i = 0; i < numDates; i++) {
  var dt = new Date(days[i]);
  var highlight = (selected && selected.getDate() === dt.getDate() && selected.getMonth() === dt.getMonth() && selected.getFullYear() === dt.getFullYear());
    if(!highlight) {
        highlight = (today.getDate() === dt.getDate() && today.getMonth() === dt.getMonth() && today.getFullYear() === dt.getFullYear());
    }
  days[i] = makeDate(dt, format.day, highlight, dt.getMonth() !== month);
}


Answer 2:

您也可以使用日期选择器的定制类属性。 像这样:

<datepicker custom-class="isToday(date, mode)" show-weeks='false' class="well well-sm" ng-model="selectedDate" ng-change="onDateSelect()"></datepicker>

然后添加控制器上的功能:

$scope.isToday = function(date, mode) {
    var today = new Date();
    today.setHours(12,0,0,0);
    if(today.toDateString() == date.toDateString() ){
        return 'today';
    }
};

(另一个选项是比较天,月,年,如果你喜欢)

现在只是CSS,你要证据的日子:

.today button{
      background-color: #BCBCBC;}

PS:这将显示如果你每天从今天更改日期,如果你想有当天高亮永远只是做一个更强大的CSS选择器来替代默认“主动”类。



文章来源: Angular ui bootstrap current date (today) highlight without selecting