JSfiddleAngularJS - ng-Modell in einer SELECT
Problem:
Ich habe ein SELECT-Element in meiner Seite, die mit einem ng-repeat
ausgefüllt wird. Es hat auch eine ng-model
, die einen Standardwert hat.
Wenn ich den Wert ändern, ng-model
passt, das ist in Ordnung. Die Drop-Down-Liste zeigt jedoch einen leeren Slot beim Start an, in dem das Element mit dem Standardwert ausgewählt werden soll.
-Code
<div ng-app ng-controller="myCtrl">
<select class="form-control" ng-change="unitChanged()" ng-model="data.unit">
<option ng-repeat="item in units" ng-value="item.id">{{item.label}}</option>
</select>
</div>
Mit JS:
function myCtrl ($scope) {
$scope.units = [
{'id': 10, 'label': 'test1'},
{'id': 27, 'label': 'test2'},
{'id': 39, 'label': 'test3'},
]
$scope.data = {
'id': 1,
'unit': 27
}
};
Das hat den Job gemacht: Die anderen Antworten waren hilfreich, aber ich kann die Datenformate nicht ändern, weil sie an anderen Orten und in anderen Situationen verwendet werden. Dies löste das Problem, ohne die anderen Daten in Unordnung zu bringen. – Jordumus
Das eckige Dokument für ['ngSelected'] (https://docs.angularjs.org/api/ng/directive/ngSelected) sagt, es sollte nicht mit' ngModel' verwendet werden. –