2016-04-22 19 views
1

私はselectのデフォルト値を設定するために使用できる関数を定義しようとしています。選択には正しく入力されますが、関数に渡される値は未定義です。これをどのように達成するのですか?ng-initから配列をスコープ関数に渡しますか?

これは私の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> 

これは、この試すコントローラスコープ

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

} 

答えて

2

の関数である。

ng-init="getDefaultOption(Options)" 

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

} 
+0

NG-initの中のparamを持つだけCAL機能を - あなたの関数は、$ scope.OptionSelectedId内部を設定する必要がありますjsファイルではなく、あなたの例のように表示されます。希望はあなたの問題を解決するために役立ちます:) –

関連する問題