2017-05-31 36 views
1

如何從*ngFor將模板中的變量傳遞給typescript。如何將變量從模板傳遞到ts中

我使用for循環:

<select (change)="onregionchange()" data-placeholder="Regions" class="form-control regions-select" id="regions" multiple> 
    <option *ngFor="let region of all_regions" [value]="region.id">{{region.name}}</option> 
</select> 

現在我想送國家在region.countries選擇TS即地區onregionchange()

我怎樣才能做到這一點angular2

回答

5

在您的功能onregionchange()中,您需要通過所有選項。像change($event.target.options)一樣。

而在TS文件中,您需要提取選定的文件,因爲您正在獲取其中的所有變量。 喜歡的東西:

onregionchange(countries) { 
    this.selectedregions = Array.apply(null,countries) 
     .filter(country => country.selected) 
     .map(country=> country.value) 
    } 

入住這plunkr

0

嗯,你有onchange處理程序select。所以,你可以使用,

<select (change)="onregionchange()" data-placeholder="Regions" class="form-control regions-select" id="regions" multiple> 
    <option *ngFor="let region of all_regions" [value]="region.id">{{region.name}}</option> 
</select> 

function onregionchange(e){ 
    console.log(e.target.value) 
} 

正如你已經給region.idoption值,您將獲得所選選項region.id。我希望你能從中得到region.country

+0

這是行不通的,因爲它是'多select' –

相關問題