我的问题如下;我已经设置了这样的日期选择器:
<div ng-controller="DatepickerDemoCtrl" class="row">
<div class="col-md-6">
<p class="input-group">
<input name='gebdat' type="text" class="form-control" datepicker-popup="{{format}}" ng-model="someModell" is-open="opened" min="{{minimumDate}}" max="'2014-04-01'" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p>
</div>
</div>
它主要是从这里复制的:http://angular-ui.github.io/bootstrap/
现在我想将Datepicker的最小日期更改为80年前的日期。 js部分看起来像这样:
var DatepickerDemoCtrl = function ($scope, $filter) {
var today = new Date();
var year = today.getFullYear()-80;
if(today.getDate()==29&&today.getMonth()==1){
var minDate = new Date(year,2,1);
}else{
var minDate = new Date(year,today.getMonth(),today.getDate());
}
var minDate2=String(''+minDate.getFullYear()+'-'+(minDate.getMonth()+1)+'-'+minDate.getDate()+'');
$scope.minimumDate = minDate2;
alert($scope.minimumDate); //and so on
警报显示我想要的日期,但是日期选择器似乎不喜欢它。我错过了吗
什么?
如果我手动将minDate输入到datepicker中,则右表达式为:min="'1934-02-12'"
编辑: 如果我只设置$ scope.minimumDate ='1934-03-13',它就有效;所以问题必须在某处(至少我猜是这样):
var minDate2=String(''+minDate.getFullYear()+'-'+(minDate.getMonth()+1)+'-'+minDate.getDate()+'');
$scope.minimumDate = minDate2;
答案 0 :(得分:0)
我把控制器部分解决了这个问题:
var DatepickerDemoCtrl = function ($scope, $filter) {
var today = new Date();
var year = today.getFullYear()-80;
var minDate = new Date(year,today.getMonth(),today.getDate());
var month = today.getMonth()+1;
month='0'+month;
var day = today.getDate();
$scope.minimumDate = "'"+year+"-"+month+"-"+day+"'";}