2017-04-26 13 views
2

userをデータベースに追加するためにフォームを作成しようとしていますが、このフォームでは、すでに存在するすべてのロールで「ロール」を選択する必要がありますデータベースに格納されます。 しかし、ロールを選択してフォームを投稿すると、jsonのプロパティは、新しいユーザーに入れたいと思ったのと同じ役割を持つデータベースの既存のオブジェクトの値を取ります。どうすれば "テキスト全体の代わりに "テキスト"?文字列値の代わりにオブジェクトを取得する選択

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

答えて

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>

0

私はこの

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

のようなものはまた、あなたがdocs

+0

おかげで、私は馬鹿だよ(笑):ここではデモがあります – Tewan

0

を参照することができると思いますがuser.roleそれは、テキスト全体ではないユーザーである必要がありたいと:

<select ng-model="formData.role" 
     ng-options="user.role as user.role for user in users"> 
</select> 
関連する問題