2017-09-01 5 views
0

私はC#コントローラでリストを生成し、それをJsonに変換してフロントエンドで受信します。この配列をループして配列の値を取得するためにng-optionsを使用しようとすると、私は常にインデックスを取得します。配列ng-optionsループ配列が値を見つけることができません

<select class="selectpicker" data-show-subtext="true" data-live-search="true" ng-model="groupArray" ng-options="k for (k,v) in groupArray"> 

enter image description here

答えて

0

あなたng-optionsでこれを試したことがありますか?

v for (k,v) in groupArray

(私は現時点で試すことができないと私はわからないが、それは試してみる価値かもしれない)

+0

をループしながら、私が試したが、私はそれが二回繰り返しているので、配列のサイズは、6である私を見ます。私は何が起こったのか知らない。 –

0

あなたは、単に使用することができ、あなたのオブジェクトの構造を1として。

v for (k,v) in groupArray 

kはキーであり、インデックスを返します。任意のオブジェクトのプロパティ値にアクセスする場合は、次のようなものを試すことができます。 propertynameがあなたのobject構造の財産である

v.propertyname for (k,v) in object 

。コントローラ

$ scope.JSONdata = [{ '名前' インサイド

:より多くの情報がngOptionsドキュメントngOptions

0

こんにちはを参照してください

簡単な作業例は次のようにする必要があります: 'Name 1'、 'sname': 'Sname 1' }、 { 'name': 'Name 2'、 'SNAME': 'SNAME 2' }、{ '名称': '名前3' 'SNAME': 'SNAME 3' }]

前端から

<select ng-model='selectedName' 
       ng-options='item as item.name for item in JSONdata'>    
</select> 

//Retrieves the whole object. From here you can access both name and 
//sname of the selected item. 
SelectedObject : {{selectedName}} 

はどのようにNG-オプションが機能している。このようなものです:

  1. は全体のアイテムを取得
  2. D isplayはitem.nameオプションで (選択)
  3. JSONdataスコープ内のすべてのアイテムを通じて 変数