Javascript 如果手动关闭UI引导下拉开关,则需要单击两次
我正在使用UI引导下拉组件在单击时显示日历。我还添加了一个Javascript 如果手动关闭UI引导下拉开关,则需要单击两次,javascript,angularjs,twitter-bootstrap,angular-ui-bootstrap,Javascript,Angularjs,Twitter Bootstrap,Angular Ui Bootstrap,我正在使用UI引导下拉组件在单击时显示日历。我还添加了一个$watch,以在选择日期后关闭下拉列表 <div uib-dropdown id="calendar1"> <h4> <a uib-dropdown-toggle id="calendar1-toggle" href="">Select Date <b class="caret"></b> </a> </h4> <ul
$watch
,以在选择日期后关闭下拉列表
<div uib-dropdown id="calendar1">
<h4>
<a uib-dropdown-toggle id="calendar1-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>
$scope.$watch('date', function(newValue){
angular.element(document.getElementById('calendar1')).removeClass('open');
})
但我还是按了两次开关。我做错了什么?手动更改类不是打开/关闭
uib下拉列表的方式
为什么这样做?文档清楚地显示了用于隐藏/显示下拉列表的打开属性
:
标记:
<div uib-dropdown id="calendar1" is-open="dropdownOpen">
<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>
Plunker:手动更改类不是打开/关闭
uib下拉列表的方式
为什么这样做?文档清楚地显示了用于隐藏/显示下拉列表的打开属性
:
标记:
<div uib-dropdown id="calendar1" is-open="dropdownOpen">
<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>
Plunker:为什么您试图通过手动添加/删除类来打开/关闭
uib下拉列表<代码>uib下拉列表
有一个处于打开状态
属性来处理该问题。@JoelCDoyle,因为我想在a中选择日期后手动关闭下拉列表calendar@JoelCDoyle如果我理解正确,是打开的
attr仅用于初始化。他们放在那里是为了方便你。与我一起左转到easy street为什么您试图通过手动添加/删除类来打开/关闭uib下拉列表
<代码>uib下拉列表有一个处于打开状态
属性来处理该问题。@JoelCDoyle,因为我想在a中选择日期后手动关闭下拉列表calendar@JoelCDoyle如果我理解正确,是打开的
attr仅用于初始化。他们放在那里是为了方便你。和我一起向左拐到easy street
$scope.$watch('date',function(newValue){
//angular.element(document.getElementById('calendar1')).removeClass('open')
$scope.dropdownOpen = false;
});