2016-11-12 3 views
0

ng-optionsを使用して、オブジェクトの配列からSelectを作成しています。これはうまくいきます。この質問の目的のために、オブジェクトの内容は多少重要ではなく、名前プロパティ、値プロパティ、その他のプロパティがあると言うだけで十分です。Angular ng-optionsオブジェクト全体ではなく、1つのプロパティにバインドする方法は?

以下は、私が選択を作成するために使用しているコードです。これまでのところうまく動作しています。

私の質問です - オプションを選択すると、ng-modelにバインドされるのは「オブジェクト全体」(fl)です。私がng-modelにバインドしたいのは、オブジェクトの「名前」(i.itemName)部分だけです。

私は、事実の後ろに戻ってこれを修正できると思います。送信ボタンを押すと、すべてのデータをループして、バインドされたオブジェクトを見つけて名前を抽出し、バインドされないように変更できます名前には、しかし...それはむしろやや厄介で、本当にどう対処すべきかはわかりません。

私は項目を選択すると、NG-モデルはi.itemNameにバインドされているように、このコードを変更する方法はありませんし、FL

<select chosen 
     id="{{fl.fldBasic.fldLabel}}" 
     ng-model="fl.dataValue" 
     ng-readonly="{{fl.fldBasic.attrReadOnly}}" 
     title="{{fl.help}}" 
     ng-required="{{fl.required}}" 
     class="chosen-select" 
     ng-options="i.itemName for i in fl.combo_ItemList.itemList track by i.itemValue" 
     style="width: 100%;"> 
</select> 

答えて

3

ng-modelをitemNameにバインドする場合は、次のコードを使用します。定義されていないと評価され、モデル値がどのオプションとも一致しないため、トラックを削除する必要があることに注意してください。

i.itemName as i.itemName for i in fl.combo_ItemList.itemList. 
関連する問題