2014-12-24 234 views
0

我對AngularJS比較陌生。學習它的每一點。我幾年來一直在KnockoutJS上工作,並且發現在JavaScript上工作​​很舒服。AngularJS在下拉菜單中設置默認選擇的選項

我正在處理一個簡單的任務管理器應用程序,它具有以下JSON作爲結果在單個任務的API調用上。

{ 
         "Id": 1, 
         "title": "Culpa nisi irure qui consectetur non reprehenderit incididunt mollit voluptate culpa enim.", 
         "description" : "test description", 
         "owner": "Hunter Mcdonald", 
         "priority": 1, 
         "isActive": false, 
         "picture": "http://placehold.it/100x100", 
         "registered": "2014-12-29T17:13:33" 
        } 

優先值的含義是:

- 高, - 中性,-1 - 低

,我從服務器獲得的價值是嚴格數值......

但是,當編輯表格時,我想在用戶可理解的文本中顯示這些優先級,即「H對象的室內運動場」, 「低」, 「正常」

enter image description here

我創建陣列來實現這一點 -

vm.priorityOptions = [ 
    { name: "low", value: -1 }, 
    { name: "normal", value: 0 }, 
    { name: "high", value: 1 } 
]; 

現在,我想從API響應選擇默認選中的優先級I得到那是"priority" : 1。由於它是數值,我不知道如何選擇默認選擇的選項vm.priorityOptions

任何幫助或有幫助的片段都一樣嗎?

+0

用ng-model選擇例如like。 ..試試這個,它應該可以工作。 – cjmling

+0

你也可以使用跟蹤,以防萬一你想綁定完整的對象,但服務器只給你價值部分 – harishr

回答

2

您可以在<select>使用ngOptions指令:

<select ng-options="item.value as item.name for item in vm.priorityOptions" 
     ng-model="vm.data.priority"> 
</select> 

這裏是一個工作plunker

+0

它的工作..足夠簡單 –

2

可以輕鬆實現這一點使用NG-模型

<select ng-model="serverResponse.priority"> 
     <option ng-repeat="item in priorities" value="{{item.value}}">{{item.name}}</option> 
</select> 

serverResponse.priority將自動選擇

+1

感謝您的努力和幫助:-) –

相關問題