2014-02-17 3 views
0

새로운 각도입니다. I는올바르게 핸들 각도 선택

select(ng-model="projectData.ProjectStatus" ng-options="c.name for c in statuses") 

등 (옥 구문)로 선언을 선택하고 상태가 선택되어 선택, 아무것도 발생하지에서

$scope.statuses = [ 
    {name:'Active', value:1}, 
    {name:'Not active', value: 0} 
]; 

로 초기화하고, 그것은

<select 
    ng-model="projectData.ProjectStatus" 
    ng-options="c.name for c in statuses" 
    class="ng-pristine ng-valid"> 
    <option value="?" selected="selected"></option> 
    <option value="0">Active</option> 
    <option value="1">Not active</option> 
</select> 

방법으로 렌더링 내가 선택해야 할 옵션을 지정하고 "?"로 첫 번째 옵션의 렌더링을 피하는 방법을 지정할 수 있습니다. 그래서 나는 단순히 "Not active"또는 "active"가 이미 선택된 곳을 선택 했습니까? 수동 대신에 아래의 코드를 시도 옵션 태그를 사용해서는 안

+0

어쩌면 나는 $ scope에 currentSelection 변수를 만들고 그것을 사용한다고 생각합니다. –

답변

1

$ scope.projectData.ProjectStatus 1로 전송하지만 여기에 적용 될 것 같지 않습니다

주 ... 그것은

작업 만들려면
<body ng-controller="MainCtrl" > 
<div> 
    <select ng-model="projectData.ProjectStatus" ng-options="c.value as c.name for c in data"></select> 
</div> 
    <script> 
     var app = angular.module('demo', []); 
     alert(app); 

     app.controller('MainCtrl', function ($scope) { 
      $scope.data = [{ name: 'Active', value: 1 }, { name: 'Not active', value: 0 }]; 
      $scope.projectData = { ProjectStatus: 0 } 
     }); 

    </script> 
</body> 

</html> 
당신은 당신의 컨트롤러에서 모델 값을 설정하여 선택에 대한 기본 값을 설정할 수 있습니다
0

: 또한

$scope.projectData.ProjectStatus = $scope.statuses[0];

, 아니 te에서 렌더링 된 옵션 값은 실제로 ng-options에 전달하는 배열의 인덱스입니다. 더 많은 정보 : API Doc.

관련 문제