javascript - 将下拉框选择绑定(bind)到另一个对象的 Id

标签 javascript angularjs

我有一个对象列表 admins,其中包含一个 UsernameId 属性。在 dropdown 中,我只显示 Username 属性。如果用户现在选择管理员,我想将 Id(不是用户名)存储到另一个对象 settings:

到目前为止,这是我尝试过的:

<select class="input-large" ng-model="vm.settings.selectedAdminId">
    <option ng-repeat="admin in vm.admins | orderBy:'Username'">{{admin.Username}}</option>
</select>

我可以选择一个用户名,但我不知道如何将所选的 admin.Id 存储到 settings.selectedAdminId

最佳答案

首先使用ngOptions .然后就是

<select class="input-large" 
    ng-model="vm.settings.selectedAdminId"
    ng-options="admin.Id as admin.Username for admin in vm.admins | orderBy:'Username'">
</select>

angular.module('demo', []).controller('DemoController', function() {
  this.admins = [
    {Id: 123, Username: 'Thomas'},
    {Id: 344, Username: 'Mann'}
  ]
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>

<div ng-app="demo" ng-controller="DemoController as vm">
  <select class="input-large" 
    ng-model="vm.settings.selectedAdminId" 
    ng-options="admin.Id as admin.Username for admin in vm.admins | orderBy:'Username'">
  </select>
  
  <p>Selected: {{ vm.settings.selectedAdminId }}</p>
</div>

关于javascript - 将下拉框选择绑定(bind)到另一个对象的 Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37482912/

相关文章:

javascript - 选项卡图标在事件和非事件时切换

javascript - 如何正确获取文本区域内容?

javascript - 如何在JS上将带引号的字符串连接到另一个带多个引号的字符串

javascript - Protractor - 将元素值从 pageObject 传递到 spec

javascript - 通过ajax将json数组发送到nodejs服务器的问题

javascript - 从 .click 到 .delay jQuery

javascript - 如何在 AngularJS 中将 Modal 的响应作为服务处理

html - 样式 md-icon

javascript - 如何在 Angular 中正确实现 DOM 操作?

javascript - AngularJS 中带有成员变量的子类工厂