ui-bootstrap datepicker不使用最小和最大日期

Mik*_*Sav 3 angularjs angular-ui-bootstrap

我使用的是Datepicket,它是AngularJS ui-bootstrap模块的一部分.我正在按照给出的教程/示例(参见http://angular-ui.github.io/bootstrap/#/datepicker),但是当试图阻止用户选择早于今天或超过3个月的日期时,不会似乎工作正常,因为这些仍然是可点击的.

这是我视图中的日期选择器...我已经将ng-model,min-date和max-date值写入接口,以确保它们不为null)

<datepicker ng-model="dt" min-date="minDate" max-date="maxDate" show-weeks="false"></datepicker>
dt = {{ dt }}
minDate = {{ minDate }}
maxDate = {{ maxDate }}
Run Code Online (Sandbox Code Playgroud)

价值正在返回....

dt = "2014-04-30T15:31:46.746Z" 
minDate = "2014-05-27T15:31:46.746Z"
maxDate = "2014-08-27T15:31:46.751Z"
Run Code Online (Sandbox Code Playgroud)

这是我的控制器代码...大部分取自ui-bootstrap网站上提供的示例

$scope.today = function() {
  $scope.dt = new Date();
};
$scope.today();

$scope.toggleMin = function() {
  $scope.minDate = $scope.minDate ? null : new Date();
};
$scope.toggleMin();

$scope.maxDate  = new Date(new Date().setMonth(new Date().getMonth()+3));
Run Code Online (Sandbox Code Playgroud)

谁能看到我做错了什么?我看不出我犯了什么错字或错误?我在OS X 10.9.2上使用Chrome 34.0.1847.137,因此浏览器兼容性应该不是问题.

小智 11

只需在datepicker标记中分别使用minmax属性代替min-datemax-date.

<input min="p.minStartDate" max="p.maxStartDate" ng-model="p.startDate" datepicker-popup="{{'dd-MM-yyyy'}}"  datepicker-options="p.dateOptions"/>
Run Code Online (Sandbox Code Playgroud)


lmy*_*ers 6

您使用的是什么版本的Angular Bootstrap?我注意到我必须升级到0.11.0以获得最小和最大日期.在0.10.0中,最小和最大日期对我不起作用.我不得不使用日期禁用.

  • 我们有一个胜利者!谢谢你的回答,升级解决了这个问题! (2认同)