1

我正在使用UI引导下拉元件在点击时显示angular-bootstrap-datetimepicker日历。我工作得很好,但日历块只在点击时关闭,当你点击日历时它不会。在日期点击关闭角度自举日期时间点击

如何在不使用jQuery的情况下使日历块的日历块关闭onclick

Plunker
GIF

<div uib-dropdown> 
    <h4> 
    <a uib-dropdown-toggle href="">Select Date <b class="caret"></b> 
    </a> 
    </h4> 
    <ul uib-dropdown-menu> 
    <datetimepicker data-ng-model="date" data-datetimepicker-config="{ startView:'month', minView:'month' }"></datetimepicker> 
    </ul> 
</div> 

回答

1

你并不需要jQuery的。您可以使用$scope.$watchangular.element自动关闭是:

$scope.$watch('date',function(newValue){ 
    newElement=angular.element(document.getElementsByClassName('.uib-dropdown')) 
    if(!newValue) return 
    angular.element(document.getElementsByClassName('dropdown')).removeClass('open') 
    }) 

请参见本Plnkr例如使用:https://plnkr.co/edit/tJr7XO5dJUrIWshyfKX6?p=preview

刚一说明:这是更好地使用标签的ID,而不是类名(如果你有多个下拉菜单)。

删除和添加的open类是相当于单击下拉箭头(与显示和隐藏日历)

+0

谢谢,这解决了我的问题 –

+0

我注意到一个小问题与解决方案。选择日期后,日历块仅在第二次点击时打开。你知道我该如何预防? –

+0

问题在aria展开 –

相关问题