2016-11-01 6 views
0

Ich bin ziemlich neu zu eckig. Ich mag meine ng-Optionen, wie dies eine where-Klausel haben:mit | Filter in ng-Optionen in Winkel js

select * from currencies where currency.code in ('usd' , 'cad') 

<select ng-model="selectedCurrency" ng-options="currency.Name for currency in Currencies | filter:currency.code = 'usd' track by currency.ID"> 
    <option value="">-- select a currency--</option> 
</select> 

ich es nur für einen Code tun könnte, aber ich mag es wählen Sie aus einer Reihe von zwei oder mehr!

+1

Bitte geben Sie Ihren Code an – manzapanza

+0

Ich möchte nach zwei Währungen filtern: USD und CAD – Fatima

+0

Lesen Sie die [Dokumentation des Filterfilters] (https://docs.angularjs.org/api/ng/filter/filter). Es akzeptiert eine Prädikatfunktion als Argument. Implementieren Sie eine Funktion, die true zurückgibt, wenn der Währungscode einer der zulässigen ist, und diese Funktion an den Filter übergeben. –

Antwort

2

Versuchen mit:

ng-options="currency.Name for currency in Currencies track by currency.ID | filter: {code: 'usd'}" 

mehrere Werte suchen Sie eine Funktion verwenden können:

$scope.filterCurrencyCodes = function(currency) { 
    return (['usd', 'cad'].indexOf(currency.code) !== -1); 
}; 

ng-options="currency.Name for currency in Currencies track by currency.ID | filter: filterCurrencyCodes" 
+0

Es hat nicht funktioniert :( – Fatima

0

Versuchen mit:

ng-options="currency.Name for currency in Currencies track by currency.ID | filter: filterCurrency" 

Und dann ein Verfahren zu schaffen, um die Währung zu bewerten Code:

$scope.filterCurrency= function(currency){ 
    if(currency.code == 'USD' || currency.code == 'CAD'){ 
     return true; 
    } 
    return false; 
}; 
+0

Es hat auch nicht funktioniert. Es zeigt alle Datensätze! – Fatima