2016-10-10 56 views
1

我有簡單的模型,提交形式,都從select我使用的是ng-repeat像這樣:變化NG-模型之前提交

'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

你可以使用ng-options用於填充select

參見:ngOptionsselect

因此,它應該是這樣的:

$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> 
0

嘗試使用(key, value)語法在角文檔給出。

Key value in ng-repeat

在表達(鍵,值) - 其中鍵和值可以是任何用戶定義的標識符,和表達是範圍表達式,給出的收集來枚舉。

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>