【问题标题】:Change minimumDate of angular UI Datepicker更改角度 UI Datepicker 的 minimumDate
【发布时间】:2014-03-12 16:04:15
【问题描述】:

我的问题如下;我设置了这样的日期选择器:

<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 手动输入到日期选择器中,则正确的表达式是:min="'1934-02-12'"

编辑: 如果我只设置 $scope.minimumDate='1934-03-13'; 就可以了所以问题一定出在某个地方(至少我猜是这样):

var minDate2=String(''+minDate.getFullYear()+'-'+(minDate.getMonth()+1)+'-'+minDate.getDate()+'');
      $scope.minimumDate = minDate2;

【问题讨论】:

  • 可以是 $scope.minDate 而不是 $scope.minimumDate 吗?
  • 刚试了,不行... :(

标签: javascript angularjs-scope angular-ui


【解决方案1】:

我通过这样放置控制器部分来解决它:

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+"'";}

【讨论】:

    猜你喜欢
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多