2017-02-20 8 views
1

を基本的に私は選択のドロップダウンこの選択の変更に関するのでNG-モデルドロップダウン更新を選択 - 角度

<select class="form-control" id="ursel" 
     ng-change="changeVal()" 
     ng-options="a for a in RatedVoltage" data-ng-model="TechCharacters.selectedUr"> 
     <option value="" selected="selected">{{globalLangResource.SelectAny}}</option> 
</select> 

を持って、別の選択

viewModel.changeVal = function(){ 
    var val = viewModel.TechCharacters.selectedUr; 
    if (val != undefined && val === "7.2kV") { 
     $rootScope.ud = viewModel.InsulationVoltage["7.2kV"]; // 20,30,40 
    } 
} 

に反映した結果を持っている第二のドロップダウンは、このようになります

<select class="form-control" id="udsel" 
     ng-change="setUd();" 
     ng-options="a for a in ud" data-ng-model="TechCharacters.InsulVolt"> 
     <option value="" ng-if="false"></option> 
</select> 

私はサブミットボタンを持っています。提出すると、私はメインオブジェクトを取得しています。

console.log(TechCharacters); 

ここで私はTechCharacters.InsulVolt値を取得していません。空を表示しています。

2番目のドロップダウンが変更された場合、modelが更新されます。それまでは最初のドロップダウンから変更されたモデルを取得していません

基本的には、フォーム内にすべてのng-modelの値を変更してもらいたいですか。

+0

コントローラとコントローラは同じですか? –

+0

最初のドロップダウンの変更時に 'TechCharacters.InsulVolt'を更新するものは何も表示されません。 – Viplock

+0

@Matarishvanはこれをプランナーとショーで作成できますか? –

答えて

2

を助けることを願っています。これは動作します。

<select data-ng-model="TechCharacters.selectedUr" 
    <option ng-selected="{{obj == TechCharacters.selectedUr}}" value="{{obj}}" ng-repeat="(key,value) in RatedVoltage"> 
</select> 

基本的には、ng-selectedをやってng repeat値のそれとng-model値を比較し、選択された値が表示されますされています。

1

最初のオブジェクトの変更時に2番目のドロップダウンの最初のオブジェクトが必要な場合は、コードをに変更してください。

viewModel.changeVal = function(){ 
    var val = viewModel.TechCharacters.selectedUr; 
    if (val != undefined && val === "7.2kV") { 
     $rootScope.ud = viewModel.InsulationVoltage["7.2kV"]; // 20,30,40 
     viewModel.TechCharacters.InsulVolt=$rootScope.ud[0] 
    } 
} 

は、それはあなたが実際にこれを行うことができ、あなたに

関連する問題