2016-08-19 63 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