Цель: получить набор значений на основе раскрывающегося списка и поместить их в скрытые поля ввода для включения в мою модель;
Относительный HTML:
<select class="selectFoo" (change)="onSelect($event.target.value)" name="FooName" ngModel>
<option selected="selected">--Select--</option>
<option *ngFor="let foo of foos" [value]="foo.ID">{{foo.Name}}
</option>
</select>
<input type="hidden" [value]="fooAddress" name="FooAddress" ngModel/>
В приведенном выше коде я вызвал функцию OnSelect для получения данных о выбранном файле foo. foos заполняются с помощью вызова веб-сервиса. Вот фрагмент из моего файла ts.
import { Component, OnInit } from '@angular/core';
import { Foo } from './model';
import { DataService } from './data.service';
@Component({
moduleId: module.id,
selector: 'add-on',
templateUrl: './app.component.html'
})
export class AppComponent implements OnInit {
foos : Foo[];
selectedFoo: Foo;
fooAddress: string;
onSelect(fooID){
this.selectedFoo = null;
for(var i = 0; i < this.foos.length; i++)
{
console.log(this.foos[i].ID);
if(this.foos[i].ID == fooID){
this.selectedFoo = this.foos[i];
this.fooAddress = this.selectedFoo.Address.toString();
}
}
}
}
Первоначально я пытался одним способом привязать свое значение к selectedFoo, но я получал сообщение об ошибке, указывающее, что значение моего адреса не было определено. Я заметил, что могу установить значение, равное selectedFoo, и это не приведет к ошибке. Итак, я создал новую переменную, для которой было задано значение fooAddress на основе выбранного файла foo. Я не получаю значения, хотя, просматривая код, я вижу, что он имеет значение.
Как я могу заполнить свое значение, чтобы использовать его в своей модели? Дайте мне знать, если мне нужно предоставить что-то еще.
Спасибо!