2016-08-19 65 views
2

我已经在角度js中为自动完成集成了tagsInput。无法在输入键上搜索tagsInput自动完成角度

我已经包含了文件ng-tags-input.min并在我的视图中添加了下面的代码。

<tags-input ng-model="searchTerm" 
       display-property="Name" 
       add-from-autocomplete-only="true" 
       replace-spaces-with-dashes='false' 
      placeholder="Search option" 
       > 
     <auto-complete source="loadTags($query)" min-length='3'></auto-complete> 
    </tags-input> 

控制器中还添加代码,获取数据的自动完成

$scope.loadTags = function (query) { 
         if (query != undefined) { 
          var info = data; 
          var items = ($filter('filter')(info, {Name: query})); 
          return items; 
         } else { 
          return data; 
         } 

        } 

每次去罚款。我将自动完成所有数据,但选择后我遇到问题,无法搜索回车键。

回答

1

你能再解释一下你的问题吗? 您是否有问题通过按ENTER键选择搜索结果或自动完成扫描不工作?

这里我给我们使用的示例代码。

<tags-input class="`tagsInput`" ng-model="ctrl.nameList" 
            display-property="fullName" 
            key-property="name" 
            min-length="1" 
            max-tags="{{ctrl.Count}" 
            min-tags="0" 
            add-from-autocomplete-only="true" 
            replace-spaces-with-dashes="false" 
            placeholder="Add" 
            enforce-max-tags> 
          <auto-complete source="ctrl.loadTags($query)" 
              min-length="3" 
              max-results-to-show={{ctrl.seletedListCount}}"> 
          </auto-complete> 
         </tags-input> 

,并在您loadTags功能

self.loadTags = function (query) { 
      var deferred = $q.defer(); 
      someService.loadUsers(query).then(function (data) { 
       if (data) { 
        self.seletedListCount = data ? data.length : 1000; 
        deferred.resolve(data); 
       } 
       else { 
        deferred.reject(); 
       } 
      }); 
      return deferred.promise; 
     }; 

的loadTags里面,你可以调用服务,您可以显示搜索结果。没有必要通过选择自动完成结果再次搜索

+0

我可以选择自动建议,但选择自动建议后,我们有一个值,我们可以搜索,所以一旦我按下输入,然后它应该工作搜索包含..为更多的信息,你可以看到在stackoverflow当我们在标签创建quetion你可以得到自动建议输入你可以选择选项,一旦你选择,然后按回车允许搜索.. – Nitin

+0

我已经更新了我的答案。是否有可能使用loadTag函数内的服务调用来显示自动完成搜索结果 –

+0

@cirl谢谢你的帮助,但它不适合我。你有其他的选择吗? – Nitin