2017-04-10 4 views
0

ich wie die automatische Vervollständigung in meiner Form Look hinzufügen möchten:automatisch vervollständigt in AngularJS

<md-autocomplete required 
    md-input-name="pekerjaan" 
    md-selected-item="selectedCountry" 
    md-search-text="searchCountry" 
    md-items="item in query" 
    md-dropdown-position="bottom" 
    md-floating-label="Pekerjaan"> 

und mein Controller ist:

$scope.countries = [ "Albania","Andorra","Armenia","Austria","Azerbaijan","Belarus", 
        "Belgium","Bosnia & Herzegovina","Bulgaria","Croatia","Cyprus", 
        "Czech Republic","Denmark","Estonia","Finland","France","Georgia", 
        "Germany","Greece","Hungary","Iceland","Ireland","Italy","Kosovo", 
        "Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta", 
        "Moldova","Monaco","Montenegro","Netherlands","Norway","Poland", 
        "Portugal","Romania","Russia","San Marino","Serbia","Slovakia","Slovenia", 
        "Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Vatican City"]; 

$scope.query = function(){ 

    $scope.countries 

} 

Nun ich alle Länder außer Deutschland und Österreich zeigen wollen, aber ich möchte sie nicht in $ scope.countries löschen. Wie kann ich es schaffen? Vielen Dank für Ihre Hilfe.

Antwort

1

Sie können Filter verwenden, um die Länder dynamisch nach Best Practices zu überspringen. nehmen freundlichen Blick auf diese plnkr.co/edit/NqwW45ijaPqTaXDU21NP?p=preview

Html-Code:

<div class="col-sm-5 hidden-xs"> 
     <div ng-repeat="country in countries | skipValues:skipCountries">{{country}}</div> 
    </div> 

JS-Datei:

var app = angular.module('plunker', []); 

app.controller('MainCtrl',function($scope){ 

    $scope.skipCountries = ["Germany","Austria"]; 
    $scope.countries = [ "Albania","Andorra","Armenia","Austria","Azerbaijan","Belarus", 
        "Belgium","Bosnia & Herzegovina","Bulgaria","Croatia","Cyprus", 
        "Czech Republic","Denmark","Estonia","Finland","France","Georgia", 
        "Germany","Greece","Hungary","Iceland","Ireland","Italy","Kosovo", 
        "Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta", 
        "Moldova","Monaco","Montenegro","Netherlands","Norway","Poland", 
        "Portugal","Romania","Russia","San Marino","Serbia","Slovakia","Slovenia", 
        "Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Vatican City"]; 

}) 

app.filter('skipValues', function($filter) { 
    return function(items, values) { 
    return $filter('filter')(items, function(obj) { 
     return values.indexOf(obj) == -1; 
    }) 
    }; 
}); 

Zusätzlich hinzugefügt Filter, um die Länder zu überspringen ..

Aktualisiert Code:

app.controller('MainCtrl',function($scope){ 

     $scope.skipCountries = ["Germany","Austria"]; 
     $scope.countries = [ "Albania","Andorra","Armenia","Austria","Azerbaijan","Belarus", 
         "Belgium","Bosnia & Herzegovina","Bulgaria","Croatia","Cyprus", 
         "Czech Republic","Denmark","Estonia","Finland","France","Georgia", 
         "Germany","Greece","Hungary","Iceland","Ireland","Italy","Kosovo", 
         "Latvia","Liechtenstein","Lithuania","Luxembourg","Macedonia","Malta", 
         "Moldova","Monaco","Montenegro","Netherlands","Norway","Poland", 
         "Portugal","Romania","Russia","San Marino","Serbia","Slovakia","Slovenia", 
         "Spain","Sweden","Switzerland","Turkey","Ukraine","United Kingdom","Vatican City"]; 

    $scope.query= function() { 
     return $filter('filter')($scope.countries, function(obj) { 
      return $scope.skipCountries.indexOf(obj) == -1; 
     }) 
    }; 

    }) 
+1

Bitte e bieten keine linkbasierte Antwort. Veröffentlichen Sie den entsprechenden Code. – Sorikairo

+0

Überprüfen Sie jetzt und lassen Sie mich wissen – Srigar

+0

Ich habe versucht, aber die Autovervollständigen hat nicht funktioniert –

Verwandte Themen