2014-02-17 60 views
0

我是新來的角。我已經選擇宣佈爲(玉語法)正確處理選擇角度

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> 

如何我可以指定我需要選擇哪個選項,以及如何避免使用「?」顯示第一個選項所以我只需要選擇「未激活」或「已激活」的選項?

注意$ scope.projectData.ProjectStatus發送到1,但它似乎並不在這裏效力......

+0

也許我認爲在$ scope上創建currentSelection變量並使用它。 –

回答

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在html中呈現的選項值實際上是您在ng-options中傳遞的數組的索引。 更多的信息在API Doc