2016-09-12 2 views
0

select를 사용하여 특정 $ scope의 값을 얻으려고합니다. 그러나 얻을 수있는 값은 모두 정의되지 않은 값입니다. 제발 도와주세요. 이 코드에서Angularjs ng-repeat 및 ng-options가 선택에서 작동하지 않습니다.

ANGULAR JS

, 나는을 선택 양식을 제출하지만, 를 사용하는 경우는 $ scope.nuevo_muestra 아무것도 일치하지 않는 경우 agregarMuestra는() 만 입력 작동 호출합니다.

.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> 

답변

0

이 tipos의 선택된 소자에 의해 nuevo_muestra을 대체

<select ng-options="t.tipo for t in tipos" ng-model="nuevo_muestra"> 
</select> 

여야. nuevo_muestra.tipo로 설정할 것이다

또는

<select ng-options="t.tipo as t.tipo for t in tipos" ng-model="nuevo_muestra.tipo"> 
</select> 

팁의 선택된 요소의 tipo

이것은 잘 the documentation에 설명되어 있습니다.

또한 success()은 오랫동안 사용되지 않으며 $scope.$apply()은 완전히 쓸모가 없습니다.