簡體   English   中英

具有多個字段的AngularJS ng-options

[英]AngularJS ng-options with several fields

我有一組帶有用戶信息的對象。

"Id": "1",
"Firstname": "ABCDEF",
"Lastname": "GHIJK",
"Middlename": ""

在我的選擇選項中,我想顯示兩個字段 - Firstname Lastname 我不知道怎么做以及如何將它綁定到ng-model

你可以試試這個:

<select 
  name="users" 
  ng-model="selectedUser" 
  ng-options="user.Id as user.Firstname + ' ' + user.Lastname for user in users">
</select>

文檔中的更多信息: https//docs.angularjs.org/api/ng/directive/select

考慮到你的數組對象的格式是這樣的。

$scope.userInfo = [
                    {"Id": "1", "Firstname": "ACDEF", "Lastname": "GHIJK", "Middlename": ""},
                    {"Id": "2", "Firstname": "BADEF", "Lastname": "HIGJK", "Middlename": ""},
                    {"Id": "3", "Firstname": "CDBEF", "Lastname": "IIHJK", "Middlename": ""},
                ]

您可以顯示兩個這樣的字段,並將其綁定到模型,如下所示。

<select ng-model="userInfo" ng-options="s.Firstname +' '+ s.Lastname for s in userInfo" class="span2"> </select> 

只是一個額外的更新,

我必須在括號中顯示姓氏,所以這里是我如何修改答案並使其正常工作。

<select 
   name="users" 
   ng-model="selectedUser" 
   ng-options="user.Id as user.Firstname + ' (' + user.Lastname + ') ' for user in users">
</select>

Theres始終處於非ng-options場景中,您可以在ng-repeat項中綁定兩個參數:

  <select name="user" ng-model="vm.asignedUser">
    <option value="">Select user</option> 
    <option value="{{ {'name':user.name, 'id': user.id} }}" ng-repeat="user in vm.users">
      {{ user.nombreLargo }}
    </option>
  </select>

這對我有用:

<select ng-model="color" ng-options="(c.name+' '+c.shade) for c in colors"></select>

資料來源: https//groups.google.com/d/msg/angular/ljJd5x1Tgrk/bZuVWCA1hO4J

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM