2017-10-17 10 views
0

角度を使用してselectコンポーネントにデフォルト値を設定したいng-options 私はこの質問について他のトピックを見てきましたが、 .. だから私は、selectコンポーネントng-optionsにデフォルト値を設定する方法AngularJS

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

を持っていると私はdefaul値を設定したいと思います。

答えて

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>

0

コントローラでは、$scope.distrito.entidade.idEntidade = "defaultValue"を設定できます。あなたのモデルは選択された値なので、コントローラで初期化しないと値は未定義です。 初期化中に関連するモデルに値を設定すると、これがデフォルトの選択値になります。

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]; 
 
});
<!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>

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'; 
関連する問題