我要做的是创建一个独立的年度选择器,无需选择日期。但是下面的bootstrap配置让我向下钻取,一旦我选择年份,它会显示月份和日期。但我只想在我点击年份后立即进行选择
$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;
};
<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>
答案 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已经在角度空间中。