如何在ng-options中设置默认值AngularJS

时间:2017-10-17 12:02:25

标签: angularjs ng-options angularjs-ng-options

我想使用angular ng-options为我的选择组件设置默认值 我已经看过关于这个问题的其他主题,但我尝试在我的情况下使用它,但没有解决.. 所以我有一个选择组件

<select ng-options="dis.entidade.idEntidade as dis.entidade.nome for dis in distritos" ng-model="distrito.entidade.idEntidade" class="form-control">
    <option></option>   
</select>

我想设置一个默认值。

3 个答案:

答案 0 :(得分:1)

您可以设置为no-model属性。例如:

$scope.distrito.entidade.idEntidade = $scope.distritos[0].entidade.idEntidade;

angular.module('app', []).controller('select', function($scope) {
  $scope.distrito = {};
  $scope.distrito.entidade = {};

  $scope.distritos = [{
    entidade: {
      nome: 'test1',
      idEntidade: 1
    }
  }, {
    entidade: {
      nome: 'test2',
      idEntidade: 2
    }
  }];

  $scope.distrito.entidade.idEntidade = $scope.distritos[0].entidade.idEntidade;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="select">
  <select ng-options="dis.entidade.idEntidade as dis.entidade.nome for dis in distritos" ng-model="distrito.entidade.idEntidade" class="form-control">
 
   </select>
</div>

答案 1 :(得分:0)

在您的控制器中,您可以设置$scope.distrito.entidade.idEntidade = "defaultValue"。您的ng-model是选定的值,因此如果您未在控制器中初始化它,则该值将是未定义的。 如果在初始化期间将值设置为相关模型,则这将是默认选定值。

&#13;
&#13;
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.somethingList = [];
  $scope.somethingList.push("Something1");
  $scope.somethingList.push("Something2");
  $scope.somethingList.push("Something3");
  
  $scope.selectedSomething = $scope.somethingList[0];
});
&#13;
<!DOCTYPE html>
<html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
</head>

<body>
  <div ng-app="myApp" ng-controller="myCtrl">
    <select ng-options="something for something in somethingList" ng-model="selectedSomething"></select>
  </div>
</body>

</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

<select ng-options="dis.entidade.idEntidade as dis.entidade.nome for dis in distritos" ng-model="distrito.entidade.idEntidade" class="form-control">
<option>THIS IS YOUR DEFAULT VALUE</option>   

如果您想要一个具有某种含义的默认值,您应该在控制器中执行此操作,例如:

if (!$scope.distrito.entidade.idEntidade)
  $scope.distrito.entidade.idEntidade = 'Some default value';
相关问题