В Angular 2 как я могу получить выделенный текст из опции. Кроме того, поскольку у меня есть динамическое количество селеков? (Я думаю, мне нужно добавить в массив). Как я могу получить текст для всех. Я смог получить ценность, но мне нужен текст.угловая 2 выбранная опция текста
HTML
<div class="row left" *ngFor='let control of tabControls'>
<div class="col-md-3 text-left" style="border:1px dotted">
{{control.DropDownTitle}}
</div>
<div class="col-md-9 text-left">
<select [(ngModel)]="selected" (change)="onChange($event.target.value)">
<option *ngFor='let controlList of control.DropdownValues' [ngValue]="controlList.Value">
{{controlList.Value}}
</option>
</select>
</div>
компонент
onChange(selected: any) {
console.log('selected item ' + selected);
}
Примечание: tabControls представляет собой интерфейс
в консоли распечатать
selected item 1: 2017
однако, другие выборы (месяц Компания) теряет выбор
все еще не работает :) обновил мой код – rgoal
:) У меня вопрос: какие свойства имеют каждый элемент в массиве control.DropdownValues? Я замечаю, что то, что вы показываете внутри элемента option, является controlList.Value, но привязка к [value] - это просто controlList. Не могли бы вы попробовать: [value] = "controlList.Value" – muzurBurcu
Еще одна вещь, которую вы могли бы сделать, это объявить получателя и сеттер для выбранных. Нравится (с частным фоном) 'private _selected: any; get selected() { return _selected; } set selected (value: any) { this._selected = value; console.log ('selected item:' + this._selected); } И избавиться от события onChange в списке: '