2017-02-20 111 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值。它顯示爲空。

如果我改變了第二個下拉列表,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-model值與所述ng repeat值的,並且所選擇的值將被顯示。

1

如果你想第一個更改第二個下拉列表的第一個對象。將代碼更改爲。

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] 
    } 
} 

希望它會幫助你