选择获取对象而不是字符串值

时间:2017-04-26 09:08:06

标签: angularjs ng-options

我正在尝试创建一个表单以便在数据库中添加user但是在这种形式中,我想要选择“角色”,其中包含数据库中已存在的所有角色。 但是当我选择一个角色并发布我的表单时,在json中,属性将数据库中已经存在的Object的值与我想要放在新用户上的相同角色一起使用,我该如何才能使用“text” “而不是整个对象?

<select ng-model="formData.role"
        ng-options="user as user.role for user in users">
</select>

3 个答案:

答案 0 :(得分:0)

我觉得这样的事情

<select ng-model="formData.role"
     ng-options="user.role as user.role for user in users">
</select>

您也可以参考docs

答案 1 :(得分:0)

假设您需要user.role,那么它应该是text而不是整个用户:

<select ng-model="formData.role"
        ng-options="user.role as user.role for user in users">
</select>

答案 2 :(得分:0)

ng-options="u.role as u.role for u in users"会做到这一点。这是一个演示:

var myApp = angular.module('myApp', []);

function MyCtrl($scope) {
  $scope.users = [{firstname: 'Jon', role : 'Admin'},
                  {firstname: 'Rob', role : 'User'},
                  {firstname: 'Ned', role : 'Guest'}];
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="MyCtrl">
  Roles: <select ng-model="selected" ng-options="u.role as u.role for u in users"></select>
  selected: {{selected}}
</div>

相关问题