2014-01-29 86 views
1

我有一個選擇下拉,我想在對象與用戶的名稱來填充:ngOptions使用對象將不填充

 <select id="entityDropDown" 
      ng-model="selectedUser" 
      ng-options="user as user.name for user in users" 
      ng-change="getUserInfo(selectedUser)"> 
     </select> 

我對象的結構爲這樣:

users: { 
    1: { 
     name: Demo Administrator, 
     id: 1, 
     domain: null, 
     email: null, 
     isAdmin: False, 
    }, 
    4: { 
     name: ITUN\WSS, 
     id: 4, 
     domain: i:0#.f|admembers|, 
     email: , 
     isAdmin: False, 
    } 
} 

回答

2

嘗試使用的理解表達的對象:

ng-options="user as user.name for (key,user) in users" 
+0

完美。我一直在閱讀關於ngOptions的文檔,但是如果你不使用數組,它們的例子不是很好。 – Batman

0

在你的情況下,users不是一個數組。

所以不是

users: { 
    1: { 
    name: Demo Administrator 
    id: 1 
    domain: ITUN\demoadmin_compulite 
    email: [email protected] 
    isAdmin: False 
    } 
} 

你想是這樣的

users: [ 
    { 
    name: Demo Administrator 
    id: 1 
    domain: ITUN\demoadmin_compulite 
    email: [email protected] 
    isAdmin: False 
    } , 
    { 
    name: Demo Administrator 
    id: 2 
    domain: ITUN\demoadmin_compulite 
    email: [email protected] 
    isAdmin: False 
    } 
] 
+0

反正是有使用ngOptions使用對象。我使用對象做了很多比較和檢索。如果我將它改爲數組,它會讓事情變得複雜一點。 – Batman

+0

如果沒有一些自定義代碼,則無法迭代單個複雜對象。 –

+0

@Batman您的對象與多個用戶的關係如何? –