2017-05-31 70 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' –

相关问题