2017-10-12 7 views
0

$scopeにオブジェクトの配列があり、オブジェクトには{Id, Name}というキーがあります。正面では、フォーム上にselect要素を生成します。ここで、optionsはオブジェクトの名前であり、バインドされた値はそれらのオブジェクトのIDである必要があります。角度 - 繰返しアイテム。Item内のItem.Nameとして表示

<select 
    name="sequence" 
    ng-model="placeholderId" 
    required> 
<option ng-repeat="item.Id as item.Name in items">{{item.Name}}</option> 

しかしエラーました:あなたはこのような何かを行うことができ

Error: [ngRepeat:iidexp] 'item' in 'item in collection' should be an identifier or '(key, value)' expression, but got

答えて

0

を私はあるselect要素のng-model placeholderIdは、私が試した何item.Id の価値を持っていると思います。

<select name="sequence" ng-options="item as item.Name for item in items" ng-model="selectedItem">

今モデル "のSelectedItemは、" オブジェクトです。 "Id"の値を取得するには、コントローラでこれを行う必要があります。あなたが探しているもの

$ scope.selectedItem.Id

1

ng-valueです。次のようにoptionタグを書き換えます。

<option ng-repeat="item in items" ng-value="item.Id" >{{item.Name}}</option> 
+0

まさに私が望むものです。ありがとう。もう1つの質問。選択要素があるフォームを編集すると、オブジェクトを編集するためにitem.IdまたはItem.Nameオプションを自動的にバインドする方法はありますか? – basic

関連する問題