【发布时间】:2018-11-22 07:00:41
【问题描述】:
我正在尝试使用 uib-datepicker-popup,但遇到了一个问题,即一旦打开日历并选择一个日期,我就无法在不刷新屏幕的情况下重新打开日历。我单步执行 ng-click 上的函数调用,并将 is-open 标志设置为 true,但第一次后弹出窗口不显示。
这是 HTML:
<span class="input-group" >
<input type="text" class="input-sm " uib-datepicker-popup="{{format}}"
ng-model="requestDate" is-open="opened1"
datepicker-options="dateOptions" close-text="Close" />
<span class=" input-sm" >
<button type="button" class="btn btn-default" ng-click="open1()">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</span>
还有控制器:
$scope.format = 'yyyy-MM-dd';
$scope.dateOptions = {
'year-format': "'yy'",
'starting-day': 1
};
$scope.open1 = function() {
$scope.opened1 = true;
};
我不明白为什么它打不开……有什么想法吗?
【问题讨论】:
-
还有其他事情正在发生,因为这应该可以工作而无需刷新页面。你能在你的问题上整理一个 sn-p 来展示你所看到的行为吗?没关系,但从技术上讲,您不需要控制器方法,您可以直接在标记中使用
ng-click="opened1 = true"。 -
我有几乎相同的 html、
$scope.dateOptions、$scope.format和ng-click在同一页面上调用多个日历。我没有像你这样的问题。我看到我们的代码之间的唯一区别是我有一个popup-placement="top"属性 -
它对我来说似乎工作得很好:jsfiddle.net/ADukg/24313 你使用的是什么版本的 angularjs 和 angular-ui-bootstrap?
标签: angularjs datepicker angular-ui-bootstrap