1

簡単なドロップダウンがあります:

 {{x}}            
 <select ng-model="x" ng-options="k for k in [1,2,3]"></select>

簡単:{{x}}は、選択した値1、2、または3に置き換えられます。

しかし、私のデータがこのようになったらどうなりますか?

 <select ng-model="x" ng-options="k.a for k in [{a:1},{a:2},{a:3}]">

選択に応じて1、2、3が欲しいのですが、通常は「{a:1}」になります。

うーん..これは多分私が欲しいものを手に入れられないことを示唆しています。アイデア?

4

1 に答える 1

3

足りないのは1つだけです。

のドキュメントng-optionsを見ると、理解式がとることができるいくつかの形式があります。

あなたが持っている形はですlabel for value in array。このフォームでは、オプションを選択すると、配列アイテムの値全体が表示されます。この場合は、のようになり{a: 1}ます。

使用できる他の形式の1つはですselect as label for value in array。fromに追加の式を貼り付けると、その式の結果がモデルにバインドされます。

だから次のようなもの:

ng-options="k.a as k.a for k in [...]"

次にa、選択した配列アイテムの属性の値を取得します。

これがあなたのためのフィドルです

于 2013-02-19T22:24:35.450 に答える