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>

Другие вопросы по тегам