uib-datepicker中的条件最小和最大日期

时间:2017-08-21 08:04:51

标签: angularjs angular-ui-bootstrap angular-ui-datepicker

我想在uib-datepicker中添加ng-repeat。每个项目都有自己的min和maxdate,所以我想条件设置为datepicker。

目前我有这个,但它不起作用:

<p class="input-group">
   <input class="form-control" type="text" uib-datepicker-popup="dd-MM-yyyy" ng-model="task.datePlanned" is-open="popup.opened" datepicker-options="dateOptions($index)" close-text="Sluiten">
   <span class="input-group-btn">
       <button class="btn btn-default" type="button" ng-click="openDate()">
           <i class="fa fa-calendar"></i>
       </button>
    </span>
</p>

控制器:

$scope.dateOptions = function(index){
    return {
        maxDate: new Date($scope.campaign.tasks[index].endDate),
        minDate: new Date($scope.campaign.tasks[index].startDate)
    }
}

$scope.openDate = function(){
    $scope.popup.openend = true;
}

$scope.popup = {
    openend: false
}

我在Error: [$rootScope:infdig]min收到maxdate错误。

有没有办法向选择器添加条件日期?

1 个答案:

答案 0 :(得分:1)

  

每个项目都有自己的min和maxdate,所以我想条件设置为datepicker。

如果要求为每个项目设置单独的min,max,则可以在标记本身中展开对象定义,如下所示:

<p class="input-group">
   <input class="form-control" type="text" 
       uib-datepicker-popup="dd-MM-yyyy" 
       ng-model="task.datePlanned" 
       is-open="popup.opened" 
       datepicker-options="{
                     maxDate: task.endDate,
                     minDate: task.startDate
                 }" 
       close-text="Sluiten">
   <span class="input-group-btn">
       <button class="btn btn-default" type="button" ng-click="openDate()">
           <i class="fa fa-calendar"></i>
       </button>
  </span>
</p>