我有一个使用Bootstrap的下拉菜单,里面有一个输入字段。每次单击输入字段时,下拉菜单都会消失。我怎么能阻止它?
顺便说一下,我正在使用AngularJS,所以jQuery方式可能不适合这里。
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">
<span class="pull-left">{{ trans('text.choose_user') }}</span>
<span class="pull-right"><i class="icon-order-table"></i></span>
</button>
<ul class="dropdown-menu" role="menu">
<li role="presentation" class="basic-padding"><a role="menuitem" tabindex="-1" href="#">{{ trans('text.guest') }}</a></li>
<li class="basic-padding">
<div class="input-group">
<input type="search" class="form-control" placeholder="{{ trans('text.search') }}">
<span class="input-group-btn">
<button class="btn btn-default">
<i class="icon-search"></i>
</button>
</span>
</div>
</li>
</ul>
</div>
答案 0 :(得分:12)
感谢@Rob J,我提出了一个解决方案,但并不像他提到的那样:
<input type="search" class="form-control" placeholder="{{ trans('text.search') }}" ng-click="$event.stopPropagation()">
答案 1 :(得分:2)
你应该尝试使用角度ui-select。这是github
的链接链接到plunker demo
浏览文档,有几个选项可以配置ui-select。
配置ui-select
的示例代码<ui-select ng-model="person.selected" theme="bootstrap" style="min-width: 300px;">
<ui-select-match placeholder="Select a person...">{{$select.selected.name}}</ui-select-match>
<ui-select-choices repeat="person in people | propsFilter: {name: $select.search}">
<div ng-bind-html="person.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>