2016-04-22 3 views
1

Ich versuche, eine Funktion zu definieren, mit der der Standardwert für eine Auswahl festgelegt werden kann. Die Auswahl ist korrekt ausgefüllt, aber der an die Funktion übergebene Wert ist nicht definiert. Wie erreiche ich das?übergeben Sie Array zu Scope-Funktion von ng-init?

Dies ist mein HTML.

 <div id="Option" class="form-group" ng-show="Options.length > 0"> 
      <div class="col-sm-1 col-md-1 col-lg-2" /> 
      <label class="control-label col-sm-3 col-md-3 col-lg-2">Options</label> 
      <div class="col-sm-2 col-md-2 col-lg-2" > 
       <select name="OptionSelect" id="OptionSelect" class="form-control" 
         ng-model="OptionSelectedId" 
         ng-init="OptionSelectedId = getDefaultOption(Options)" 
         ng-options="Option.objectKey as Option.label for Option in Options" required > 
       </select> 
      </div> 
     </div> 

Dies ist die Funktion über den Umfang Controller ist

$scope.getDefaultOption=function(arr){ 
     return arr=$.grep(arr, function (dropdownObj) { 
      return dropdownObj.default === true; 
     })[0]; 

} 

Antwort

2

try this:

ng-init="getDefaultOption(Options)" 

$scope.getDefaultOption=function(arr){ 
     arr=$.grep(arr, function (dropdownObj) { 
      $scope.OptionSelectedId = dropdownObj.default === true; 
     })[0]; 

} 
+0

nur cal Funktion mit param in ng-init - Ihre Funktion sollte in $ gesetzt scope.OptionSelectedId js-Datei, nicht in der Ansicht wie in Ihrem Beispiel. Hoffe es hilft dein Problem zu lösen :) –

Verwandte Themen