Я столкнулся с проблемой с AngularJS - я не могу отобразить выбранное значение в <select>
.
Вот мой прецедент:
У меня есть представление, которое начинается с ng-repeat для отображения компонентов. Каждый компонент содержит выбор для выбора скорости обмена. При создании новых элементов это выглядит отлично. Но когда я редактирую существующие элементы, фактический код vatRate не отображается в select, и вместо этого я вижу вариант по умолчанию "- Выберите VAT Rate" - вместо выбранного НДС.
Моя модель содержит только Id of the vat Rate.
В одном компоненте я могу использовать переменную в $scope для установки текущего значения элемента, но здесь у меня может быть несколько компонентов, каждый из которых имеет свою собственную частоту ватт, поэтому я не уверен, как это сделать здесь:
Вот мой код
<div ng-repeat="c in components" ng-form="vatForm">
<select name="selectedVatRate"
ng-model="vatRate"
ng-init="vatRate = v.id"
ng-change="updateVatRate(c, selectedVatRate)"
ng-options="v.id for v in vatRates track by v.id">
<option value="">-- Select VAT Rate --</option>
</select>
</div>
И объекты:
$scope.vatRates = [
{ 'id': 1, 'value' : '20' },
{ 'id': 2, 'value' : '10' },
{ 'id': 3, 'value' : '7' }
];
$scope.components = [
{ 'id': 1, 'title' : 'Title1', 'vatRateId' : '1' },
{ 'id': 2, 'title' : 'Title2', 'vatRateId' : '2' },
{ 'id': 3, 'title' : 'Title3', 'vatRateId' : '3' }
];