2017-02-13 11 views
1

を使用して、NG-オプションを持つAjaxでの選択を移入し、私はAJAX呼び出しからのデータとの選択を移入する必要があります。がangularJSでAngularJs

は私が(「profissionaisオブジェクト」)JSONデータを取得するためのAJAX呼び出しを行い、このコントローラ.IN「TabPacProfissionalController」と呼ばれるcontrolllerを持っています。 これまでのところとても良いです。

私の問題は、私は、サーバーから戻ってJSONデータを取得するということですが、私の選択移入されることはありません。

私はここで何が欠けていますか?

私のアヤックス復帰は次のとおりです。

{"results":[{"nr":"8","nome":"AAAAAAAAAAAA"}, 
{"nr":"17","nome":"BBBBBBB"}, 
{"nr":"27","nome":"BBBBBAAAAA"}, 
,{"nr":"1004","nome":"CCCCCCCCC"}]} 

HTML

 <div class="form-group"> 
      <label for="paciente.texto.sexo" class="col-sm-2 control-label">Profissional:</label> 
      <div class="col-sm-10" ng-controller="TabPacProfissionalController as tabProfCtrl"> 
       <select class="form-control" ng-model="selectedProf" ng-options="nome for (nr,nome) in tabProfCtrl.profissionais"> 
        <option value=''>Select an option</option> 
       </select> 
      </div> 
     </div> 

JS:

app.controller('TabPacProfissionalController', function($http) { 
     this.profissionais = {}; 
     $http.get('/getStaff?tipoProf=1').then(function(response){ 
        this.profissionais=response.data.results; 
        console.log(this.profissionais.toString()); 
     },function(error){ 
      console.log(error); 
     }); 
     }); 
+1

= 'これをVaRの自己を追加;'とHTTP成功機能 –

+0

内側 'self'への参照アロンありがとう、それはそれは申し訳ありません –

答えて

1

あなたはラベルがnrするnomeプロパティと値を表示したい場合はプロパティを次のように試してください:

<div class="form-group"> 
    <label for="paciente.texto.sexo" class="col-sm-2 control-label">Profissional:</label> 
    <div class="col-sm-10" ng-controller="TabPacProfissionalController as tabProfCtrl"> 
     <select ng-model="tabProfCtrl.selectedProf" ng-options="profissionais.nr as profissionais.nome for profissionais in tabProfCtrl.profissionais"> 
      <option value="">Select</option> 
     </select>   
    </div> 
</div> 

(key、value)使用していると思われるオブジェクトのコレクションではなく、単一のオブジェクトのプロパティを反復処理したい場合など、オブジェクトデータソース用の表記法です。 $httpコールから。

解析されたサーバの応答を表示するには、ここでangular.fromJson(response.data)

を使用することができた機能を発揮plunkerです。

+0

ました。それは動作しません。エラー:[ngOptions:iexp] '_select_(as _label_)'という形式の式が必要ですか? for _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ from _collection_ 'しかし、要素:<選択したクラス= "フォームコントロールNG-手付かずNG-手つかずNG-有効な" NG-モデル= "選択" NG-オプションは= "tabProfCtrl.profissionaisでprofissionais.nrためprofissionais.nomeは"> –

+0

は私の更新の答えを参照してください。 。私は機能を示すプランナーを提供しました。 –

+0

それは動作しません。戻ってくるajaxデータは、私がChromeのデバッガネットワークツールで見たときに上に投稿したものです。しかし、私のconsole.log(this.profissionais.toString())は、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、[オブジェクトオブジェクト]、..... –