bootstrap年度选择器不会选择年份

时间:2016-08-02 17:09:00

标签: html angularjs twitter-bootstrap-3 angular-ui-bootstrap bootstrap-datepicker

我要做的是创建一个独立的年度选择器,无需选择日期。但是下面的bootstrap配置让我向下钻取,一旦我选择年份,它会显示月份和日期。但我只想在我点击年份后立即进行选择

的JavaScript

$scope.formats = ['yyyy','dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
$scope.dateFormat = $scope.formats[0];
$scope.popup = {
    opened : false
};

$scope.open = function($event) {
    $event.preventDefault();
    $event.stopPropagation();
    $scope.popup.opened = true;
};

HTML

 <p class="input-group input-group-unstyled" style="margin-bottom: 0px">
<input type="text" class="form-control  input-sm" id="year" name="year"
       uib-datepicker-popup="{{dateFormat}}"
       ng-model="year"
       is-open="popup.opened"
       min-mode="year" datepicker-mode="'year'"
       close-text="Close"
   />
<span class="input-group-addon">
<i class="glyphicon glyphicon-calendar" ng-click="open($event)"></i>
</span>
</p>

3 个答案:

答案 0 :(得分:1)

删除了minMode周围的单引号:&#34;&#39;年&#39;&#34;到minMode:&#34;年&#34;并解决了这个问题,奇怪的行为

答案 1 :(得分:0)

您必须使用'datepicker-options'属性来传递选项,而不是元素属性。

<input type="text" class="form-control" ng-model="dt" 
   uib-datepicker-popup="{{format}}" datepicker-options="{{datepickerOptions}}"
   is-open="opened" ng-focus="open($event)"
  date-disabled="disabled(date, mode)" ng-required="true" close-text="Close">
</input>

$scope.datepickerOptions = {
  datepickerMode:"year",
  minMode:"year",
  minDate:"minDate",
  showWeeks:"false",
};

在此处查找文档:https://angular-ui.github.io/bootstrap/#/datepicker

希望它可以帮到你!

答案 2 :(得分:0)

varit05犯了一个小错误:

日期选择选项=&#34; {{datepickerOptions}}&#34;

应该是:

日期选择选项=&#34; datepickerOptions&#34;

因为datepicker-options已经在角度空间中。