我有一个表单,我有条件要求的datepicker元素。我无法使用任何值启动此元素,因为用户必须输入它。 Datepicker格式为dd / mm / yyyy。问题是它在我添加ng-required
之前工作正常。在ng-required
条件添加到元素后,当用户点击日历时,日历默认日期是1969年12月31日。对于将该日期带到当前日期的用户来说非常不方便。我尝试在datepicker选项中将默认日期设置为今天,但没有运气。
<div class="form-group col-md-3 required" ng-show="decision==true">
<label class="control-label">Test Date</label>
<div class="input-group">
<input name="testDate" type="text" class="form-control" datepicker-popup="dd/MM/yyyy" ng-model="testDate" is-open="dpOpened.testDateTo"
close-text="Close" onfocus="this.blur();" datepicker-options="dateOptions" ng-required="decision==true" required/>
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="datepickerPopup($event, 'testDateTo')">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</div>
</div>
- controller.js -
$scope.datepickerPopup = function($event, opened) {
$event.preventDefault();
$event.stopPropagation();
$scope.dpOpened[opened] = true;
}
$scope.dateOptions = {
showWeeks : false,
defaultDate : new Date()
};
$scope.dpOpened = {
testDateTo : false,
};
$scope.today = function() {
return new Date();
}
答案 0 :(得分:0)
您将ng-model设置为testDate但我看不到您在控制器中设置的位置。尝试设置testDate = new Date()。请参阅此相关pull request
答案 1 :(得分:0)
我遇到了同样的问题。
您不应使用 new Date() 初始化 bsDatePicker 字段。您必须使用 formbuilder 中的 'null' 进行初始化,即使它是必填字段。