2017-04-14 5 views
0

私はオートコンプリート用のカスタマイズされたドロップダウンを実装する必要がありますが、私はそれを得ることができません。ここではng-changeで応答を得ています。しかし問題は、最初の3文字を入力してオートコンプリートを取得する方法で、キーボードのキーを使用してドロップダウンを移動する必要があります。カスタマイズしたドロップダウンでオートコンプリートを取得するには?

は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ませんIAMの2つの文字を入力したときに、私はなって、カスタマイズされた1 – anub

答えて

1

あなただけinput.questionは、検索テキストのng-modelあるごng-repeatfilter: input.questionを追加する必要があります。このような何か:

<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のが必要ですが、空リスト – anub

+0

@bpinkyそれはあなたが何を入力するかによって決まります。 "fo"と入力すると4つしか表示されません。あなたが望むものではありませんか? – tanmay

+0

いいえIamがブートストラップを使っているときはうまくいきません。そうでなければ正常に動作します。 – anub

関連する問題