2015-02-27 7 views
7

Ho un filtro a discesa e funziona bene. Vedere il collegamento
http://plnkr.co/edit/c5Hrqfv1eA5qfQpkYR41?p=preview
Ma voglio aggiungere un altro valore al menu a discesa, quindi non funziona correttamente. Ho provato con il codice qui sotto.Come visualizzare due valori usando ng-options in AngularJs?

<select ng-model="filterDeck.deckDetail" ng-options="deck.name as (deck.name+' - '+deck.level) for deck in data"> 
</select> 

Per favore aiutatemi a fare questo. Grazie.
Vimal

risposta

10

Se non si desidera apportare modifiche al filtro uso questo selezionare:

<select ng-model="filterDeck.deckDetail" ng-options="deck as deck.name + ' - ' + deck.level for deck in data"> 

L'opzione sopra legherà l'intero oggetto al modello.

Se si desidera solo per legare l'id del modello è necessario aggiornare la vostra selezione e filtro al seguente:

<select ng-model="filterDeck.deckDetail" ng-options="deck.id as deck.name + ' - ' + deck.level for deck in data"> 

quindi aggiornare il filtro a questo:

$scope.customDeck = function (data) { 
    if (data.id === $scope.filterDeck.deckDetail) { 
     return true; 
    } else { 
     return false; 
    } 
    }; 

In entrambi i casi funzionerà.

+0

Ho provato con il tuo codice ma il filtro non funziona. – Vimal

+0

Vedere la modifica che ho appena fatto. Aggiorna la tua selezione alla nuova che ho appena pubblicato e modifica il tuo filtro come suggerito. Questo dovrebbe fare il trucco. – nweg

+0

Vedere la mia ultima modifica. Ti potrebbe piacere la prima opzione migliore ora. Fammi sapere se hai qualche domanda su Vimal! – nweg

Problemi correlati