2016-07-23 13 views
0

ich ein Drop-Down in meinem HTML-Seite wie folgt:Set HTML wählen Wert

<select id="monthBox" ng-model="month"> 
    <option value="{{month}}" ng-repeat="month in months">{{month}}</option> 
</select> 

Die Datenquelle des Drop-Down ist months, und es ist an das Modell month gebunden. Am Anfang hat es Zahlen von 07 bis 12 und ausgewählten Standard ist 07:

enter image description here

jedoch diese Datenquelle ändert. Wenn der Benutzer beispielsweise auf die Schaltfläche "Nächstes Jahr" klickt, wird die Liste zu [01,02 ..., 12].

enter image description here

Was ich versuche als 07. zu erreichen, sollte der ausgewählte Wert bleiben aber die Liste ändert, wird der ausgewählte Wert automatisch geleert. Es wird entweder 01 oder eine leere Option, abhängig von dem Browser und dem Gerät, das ich teste.

Ich habe folgende Lösungen ausprobiert, aber keine war:

1. Auf dem Klick auf ‚nächstes Jahr‘ -Taste, ich das Modell aktualisieren. In der Steuerung, ich mache es 07 wieder:

$scope.model = '07'; 

Aber, auch wenn das Modell aktualisiert wird, zeigt die Dropdown noch 01.

2. ich versucht habe programmatisch den Wert des DOM Einstellung wie folgt :

var element = document.getElementById('monthBox'); 
element.value = $scope.month; 

Dies wirkt sich jedoch auch nicht aus. Das Dropdown zeigt immer noch 01.

Irgendwelche Vorschläge? Vielen Dank.

+0

Sicher klingt nicht wie eine gute Benutzererfahrung. Außerdem brechen Sie die Regel, Objekte immer in 'ng-Modell' zu verwenden. Erstellen Sie eine Plocker-Demo, die das Problem repliziert – charlietfl

+1

Für Versuch # 1 sollte es '$ scope.month = '07' sein;' 'nicht' $ scope.model = '07'; '. Ich würde vorschlagen, '