使用angularJS,我需要使用来自ajax调用的数据填充选择。
我有一个名为" TabPacProfissionalController"的控制器。在这个控制器中,我做了一个ajax调用来获取json数据(' profissionais对象')。 到目前为止一切都很好。
我的问题是我从服务器返回json数据,但我的选择永远不会填充。
我在这里缺少什么?
我的ajax回归是:
{"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);
});
});
答案 0 :(得分:1)
如果您希望标签显示nome
属性且值为nr
属性,请尝试以下操作:
<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>
您正在使用的(键,值)表示法用于对象数据源,如果您想迭代单个对象的属性,而不是您似乎从{获取的对象集合{1}}致电。
要查看已解析的服务器响应,您可以使用$http
这是展示功能的plunker。