2017-04-14 91 views
0

我必須實現自動完成的自定義下拉列表,但我無法得到它,在這裏ng-change我得到的答覆。但問題是如何通過鍵入前三個字母來獲得自動完成,並且必須通過使用鍵盤鍵來移動下拉菜單。如何使用自定義下拉菜單獲取自動完成功能?

的JavaScript:

$scope.fnAutocompleteQuestion = function (question) { 
     $scope.data = [ 
     { "val": 1, "txt": "one" }, 
     { "val": 2, "txt": "two" }, 
     { "val": 3, "txt": "three" }, 
     { "val": 4, "txt": "four" }, 
     { "val": 5, "txt": "five" }]; 
     console.log($scope.data); 
    }; 

HTML:

 <div class="input-group dropdown" ng-class="{'open': mydropdownQues}"> 
     <input type="text" class="form-control" ng-model="input.question" 
    data-toggle="dropdown" aria-describedby="basic-addon2" ng-change="fnAutocompleteQuestion(input.question);mydropdownQues=!mydropdownQues"> 
    <div class="dropdown-menu width-menu"> 
      <ul class="ul-scroll"> 
       <li ng-repeat="value in data " ng-click="input.question=value.txt"> 
        {{value.txt}} 
        <hr ng-show="!$last"> 
       </li> 
      </ul> 
     </div> 
    </div> 
+0

https://material.angularjs.org/latest/demo/autocomplete – niksofteng

+0

@尼基爾Vartak不,我需要定製一個 – anub

回答

1

你只需要添加filter: input.questionng-repeat其中input.questionng-model搜索文本。事情是這樣的:

<li ng-repeat="value in data | filter: input.question" ng-click="input.question=value.txt"> 
    {{value.txt}} 
    <hr ng-show="!$last"> 
</li> 

working example

+0

Tq的,但是當蔭輸入2個字母,讓空的清單。 – anub

+0

@bpinky它取決於你輸入的內容..如果你輸入「fo」,它只顯示四個。這不是你想要的嗎? – tanmay

+0

沒有當Iam使用引導它不工作,否則它工作正常。 – anub

相關問題