【发布时间】:2016-09-13 02:43:50
【问题描述】:
我正在尝试使用 select 从某个表单中的某个 $scope 中获取值,但我得到的只是未定义的值,请帮助我。
角度 JS
在这段代码中,我在提交表单时调用了 agregarMuestra(),但是使用 select 时 $scope.nuevo_muestra 不匹配任何内容,仅适用于 input .
.controller('ctrlRegm',function($scope, $state, $http){
$scope.tipos = [{"tipo":"sangre"}, {"tipo":"heces"}, {"tipo":"orina"}];
$scope.nuevo_muestra = {};
$scope.agregarMuestra = function() {
console.log($scope.nuevo_muestra); //print empty array
console.log($scope.nuevo_muestra.tipo); //print undefined
$http.post("/muestra", {
tipo: $scope.nuevo_muestra.tipo,
}).success(function(response){
$scope.muestras.push(response);
$scope.$apply();
});
};
}
HTML
这不起作用
<div class="form-group col s12" >
<select ng-options="t.tipo for t in tipos track by t.tipo" ng-model="nuevo_muestra.tipo">
</select>
<label>el tipo es: {{nuevo_muestra.tipo}}</label>
</div>
这个
<div class="form-group input-field col s12" >
<select ng-model="nuevo_muestra.tipo">
<option ng-repeat="t in tipos" value="{{t.tipo}}"> {{t.tipo}}
</option>
</select>
</div>
但如果我使用 输入,那么它确实有效,为什么,为什么? :(
<div class="form-group">
<input type="text" class="form-control" name="tipo" ng-model="nuevo_muestra.tipo">
</div>
【问题讨论】:
标签: angularjs scope ng-repeat angular-ngmodel ng-options