我有一个简单的模型,提交一个来自select
的表单我正在使用ng-repeat
,如下所示:
'Ctrl'
isdom.scheduleOptions = ['Pass', 'N/A'];
'html'
<select ng-model="isdom.isdomForm.isDom101">
<option ng-repeat="option in isdom.scheduleOptions" value="{{option}}">{{option}}</option>
</select>
构建api end point
的人要求采用以下格式的数据:
"outcomes": [
{ "itemNo": "is11", "outcome": "Pass" }
,
{ "itemNo": "is12", "outcome": "Pass" }...
当我的模型如此时,我该怎么做?
{
"isDom11": "N/A",
"isDOm12": "Pass",...
}
我想过尝试获取模型中以isDom
开头的所有元素,并将它们推送到已修改为对象的outcomes
数组中,以复制所需的格式。
我可以使用ng-repeat来实现此目的吗?
答案 0 :(得分:0)
尝试使用angular docs中提供的(key, value)
语法。
(键,值) - 其中key和value可以是任何用户定义的标识符,expression是赋予集合枚举的范围表达式。
For example: (name, age) in {'adam':10, 'amalie':12}.
你的例子,
isdom.scheduleOptions = {
"isDom11": "N/A",
"isDOm12": "Pass",...
}
<select ng-model="isdom.outcomes">
<option ng-repeat="(itemNo, outcome) in isdom.scheduleOptions" value="{{outcome}}">{{outcome}}</option>
</select>
答案 1 :(得分:0)
您可以使用ng-options
填充select
。
所以它应该是这样的:
$scope.isdom.scheduleOptions = [
{ "itemNo": "is11", "outcome": "N/A" }
,
{ "itemNo": "is12", "outcome": "Pass" }
];
<select ng-model="isdom.isdomForm.isDom101"
ng-options="item as item.outcome for item in isdom.scheduleOptions track by item.itemNo"></select>