2017-02-20 129 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] 
    } 
} 

希望它会帮助你