uib-datepicker-popup不会重新打开

时间:2018-06-12 19:38:42

标签: angularjs datepicker angular-ui-bootstrap

我正在尝试使用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;
};

我不明白为什么它不会打开......有什么想法吗?

1 个答案:

答案 0 :(得分:0)

谢谢大家的帮助。在我发布问题之后,我做了很多搜索,并找到了修复问题的东西......不确定为什么它能使它工作但是确实如此。

我将open1函数更改为以下内容...我让它首先工作一个然后扩展到所以我可以将它用于所有...

'ChoiceField' object has no attribute 'is_hidden'

在我的HTML中,我更改了两行:(查找&lt; - )

    $rootScope.openCalendar = function($event,whch) {
        $event.preventDefault();     <- I had tried this before
        $event.stopPropagation();    <- I had tried this before
        $rootScope.datepicker = {[whch]: true}; 

};

到目前为止,我的工作效果非常好。我想我也可以通过使用Lex的建议来缩短它......

再次感谢!