AngularJS UI Bootstrap Typeahead未按预期工作

时间:2016-05-05 16:08:50

标签: angularjs angular-ui-bootstrap

我正在使用Elasticsearch和AngularJS构建一个小型搜索应用程序。我正在使用AngularJS UI bootstrap typeahead来实现自动完成,我使用ES的edge_n_gramshighlight object来生成建议,2)分别突出显示建议。 ES突出显示对象包含HTML <em></em>标记中的建议... 似乎导致我对设置方式的一些问题。

1)当我按Enter键而不是单击搜索按钮时 - 所有发生的事情都是显示搜索条件包含在<em></em>标签中并且不执行搜索... <em>search terms</em> < / p>

2)当我用鼠标选择建议时,会发生同样的事情。

搜索执行的唯一时间是我输入查询并单击搜索按钮...

这是我正在使用的搜索表单,我在表单元素和按钮上有ng-submit =“search()”,不知道我哪里出错......?< / p>

<form name="q" ng-submit="search()" class="navbar-form" id="results-search" role="search">
  <div class="input-group">
    <input type="text" name="q" ng-model="searchTerms" class="form-control input-md" placeholder="{{ searchTerms }}" id="search-input" uib-typeahead="query for query in getSuggestions($viewValue)" typeahead-on-select="search($item)">

      <div class="input-group-btn">
        <button type="submit" ng-submit="search()" class="btn btn-primary btn-md"><i class="fa fa-search fa-lg"></i></button>
        </div>
   </div>
</form>

我是否在使用UI Bootstrap Typeahead做错了什么?

更多说明 基本上我要问的是如何从建议,选择和搜索中删除 标签?

1 个答案:

答案 0 :(得分:0)

在Stackoverflow中已经提到了类似的示例:Click here