2017-01-25 8 views
0

コンボボックスがあり、コントローラから選択した値を設定しようとしています。どうやってやるの?コントローラからコンボボックスの選択値を設定します

<md-select ng-model="selectedControl" ng-change="changeControl(selectedControl)" required> 
    <md-option ng-repeat="control in controls" ng-value="control">{{control}}</md-option> 
</md-select> 

は、私が試した:

$scope.selectedControl = "Test"; 

コントロール配列:

[{"ControlId":1,"ControlColumn":"Address","ControlText":"AddressTest"},{"ControlId":2,"ControlColumn":"City_State_Zip","ControlText":"CityTest"}] 
+1

作業

あなたは私たち 'controls'配列を示しすることはできますか?ちなみに 'control 'を' {} 'で囲み、' {{control}} 'のようにその変数の値を取得します。 –

答えて

0

をあなたのオプションにだけ、これはとても配列でscond値を選択します<md-option ng-repeat="control in controls" ng-value="control" ng-selected="index == 1">control</md-option>

値のインデックスを渡します要件に合うように変更することができます。

+0

ありがとうございます。私は、データベースからコンボボックスのデータを取得しています。そして私は動的に別の値を選択したい。 –

+0

index == selectedIndexを追加し、必要に応じてコントローラからselectedIndexvalueを更新します。 –

+0

インデックスではなくテキスト値で表示できますか? –

0

問題は配列から値そのものを選択してオプションで選択する必要があるため、適切な配列を取得したり、データを分割してドロップダウン選択を制御したりする必要があります。 jsfiddle

<div ng-app="myApp" ng-controller="MyCtrl"> 
    <div class="col-xs-12"> 
     <label class="col-xs-6 control-label">Type:</label> 
     <div class="col-xs-6"> 
     <select name="type" ng-model="selectedControl" ng-dropdown required ng-change="changeControl(selectedControl)" ng-options="control.ControlText for control in controls"> 
     </select> 
     </div> 
    </div> 
</div> 

var myApp = angular.module('myApp',[]); 


function MyCtrl($scope) { 

    $scope.controls = [{ 'ControlId': 1, 'ControlColumn': 'Address', 'ControlText': 'AddressTest' }, { 'ControlId': 2, 'ControlColumn': 'City_State_Zip', 'ControlText': 'CityTest' }]; 
    $scope.selectedControl = $scope.controls[1]; // change the value from here 
} 
関連する問題