Attualmente sto bloccato con un problema che sembra semplice:AngularJS: ottengono selezionare l'etichetta senza modificare ng-modello
Controller:
$scope.fruits = [{
name: 'AP',
label: 'Apple'
}, {
name: 'BA',
label: 'Bananas'
}];
codice HTML:
<select
ng-model="meal.fruit"
ng-options="fruit.name as fruit.label for fruit in fruits">
</select>
<p>Fruit : {{meal.fruit}}</p>
problema è , visualizza
Fruit : BA
Invece di
Fruit : Bananas
non riesco a modificare ng-opzione per "frutto come fruit.label" perché ho bisogno il mio modello "meal.fruit" essere "AP" o "BA" (perché si tratta di un java enum deserialize di Jackson, e richiede il valore Enum).
In sintesi, ho bisogno di essere meal.fruit "BA" e voglio anche essere in grado di visualizzare il valore selezionato "Bananas" da qualche altra parte.
Cosa posso fare?
EDIT:
La soluzione che ha funzionato per me è stato trovato da Maxim Shoustin, (molte grazie!):
ho modificato il mio codice per avere il seguente:
E quindi ho modificato il metodo di invio per aggiungere quanto segue:
$scope.meal.fruit = $scope.meal.fruit.name;
questo non risolve il problema, perché ora meal.fruit contiene "Bananas" quando presento la mia forma. Ho bisogno di contenere "BA" per essere deserializzato da Jackson :( – Baptiste
dal tuo esempio '
Frutta: {{pasto.frutta}}
'. E volevi: 'Frutta: Banane'. Così ti ho perso, puoi dare ulteriori informazioni? –Lo so, questa parte ora è buona, ma ho bisogno di meal.fruit per essere "BA" per essere deserializzata da Jackson – Baptiste