5
我目前坚持了这看似简单的问题:AngularJS:获得选择的标签,而无需修改NG-模型
控制器:
$scope.fruits = [{
name: 'AP',
label: 'Apple'
}, {
name: 'BA',
label: 'Bananas'
}];
HTML代码:
<select
ng-model="meal.fruit"
ng-options="fruit.name as fruit.label for fruit in fruits">
</select>
<p>Fruit : {{meal.fruit}}</p>
问题是,这显示
Fruit : BA
而不是
Fruit : Bananas
我不能修改NG-选项“果为fruit.label”因为我需要我的模型“meal.fruit”是“AP”或“BA”(因为它是一个Java枚举反序列化由杰克逊,它需要枚举值)。
总之,我需要meal.fruit是“BA”,我也希望能够以显示所选值“香蕉”别的地方。
我该怎么办?
编辑:
为我工作的解决方案是由Maxim Shoustin,发现(非常感谢!):
我修改了代码,具备以下条件:
而且然后我修改我的提交方法添加以下内容:
$scope.meal.fruit = $scope.meal.fruit.name;
那不解决我的问题,因为现在meal.fruit包含“香蕉”时,我提交表单。我需要它包含由杰克逊反序列化的“BA”:(你的例子中的 – Baptiste
'
水果:{{meal.fruit}}
'你想要的:'水果:香蕉'所以我失去了你,你能给我更多的信息? –我知道,这部分现在是好的,但我需要meal.fruit成为由杰克逊反序列化的“BA” – Baptiste