【发布时间】:2013-11-10 08:33:27
【问题描述】:
我目前遇到一个看似简单的问题:
控制器:
$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-option 修改为“fruit asfruit.label”,因为我需要我的模型“meal.fruit”为“AP”或“BA”(因为它是 Jackson 反序列化的 java 枚举,并且它需要枚举值)。
总之,我需要meal.fruit 为“BA”,并且我还希望能够在其他地方显示选定的值“Bananas”。
我能做什么?
编辑:
Maxim Shoustin 找到了对我有用的解决方案,(非常感谢!):
我修改了我的代码以具有以下内容:
然后我修改了提交方法以添加以下内容:
$scope.meal.fruit = $scope.meal.fruit.name;
【问题讨论】:
标签: javascript angularjs enums