ng автоматически выбрать значение в angularjs
Как выбрать значение автоматического выбора, если опция только одна
<select class="perf-select" ng-model="viewProfileCtrl.neft.institution"
ng-options="inst.institution.institution_id as inst.institution.name for inst in viewProfileCtrl.perfiosAnalysisData.institutions"
ng-change="viewProfileCtrl.setCurrNeftInsti(viewProfileCtrl.neft.institution, 'neftCredit')">
<option value="" selected>Select a Bank</option>
</select>
Моя проблема заключается в том, что если у меня есть несколько опций, он просит выбрать опцию, если у нее есть только одна, она должна автоматически выбирать и отображать значение, как я это исправляю
1 ответ
Решение
Попробуй вот так.
var app = angular.module('anApp', []);
app.controller('aCtrl', function($scope) {
$scope.chooses = [{"key":"one","value":1},{"key":"Two","value":2},{"key":"Three","value":3}];
$scope.chooses2 = [{"key":"one","value":1}];
$scope.setDefault = function(){
if($scope.chooses.length ==1)
$scope.model = $scope.chooses[0].value;
}
$scope.setDefault2 = function(){
if($scope.chooses2.length ==1)
$scope.model2 = $scope.chooses2[0].value;
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="anApp" ng-controller="aCtrl">
<select ng-init="setDefault()" ng-model="model" ng-options="k.value as k.key for k in chooses">
</select>
<select ng-init="setDefault2()" ng-model="model2" ng-options="k.value as k.key for k in chooses2">
</select>
</div>
Используйте функцию ng-init и, если длина массива равна 1, присвойте значение модели ng
angular.module("app",[])
.controller("ctrl",function($scope){
$scope.item = [{
value : "val",
name : "name"
}]
$scope.setSelect = function(){
if($scope.item.length === 1){
$scope.modelVal = $scope.item[0];
}
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">{{modelVal.value}}
<select ng-model="modelVal.value"
ng-init="setSelect()"
ng-options="inst.value as inst.name for inst in item">
</select>
</div>