从dropdwn获取Id和Value

时间:2018-02-14 10:14:01

标签: angular typescript angular4-forms

我有一个下拉列表

<select [(ngModel)]="car.Marketid" required name="Marketid" id="Marketid" 
 ngModel class="form-control">
    <option [ngValue]="select" disabled [selected]="true">--Select Market--
    </option>
    <option *ngFor="let code of names" value="{{code.marketId}}">
    {{code.marketName}} - {{code.SpecMarketCode}}</option>
</select>

在.ts文件中的“save”方法中,我需要获取从此下拉菜单和MarketName中选择的Marketid,但这里是[(ngModel)]="car.Marketid“所以我在我的save方法中获得了唯一的id文件。我也需要获得市场名称。 我怎样才能得到?

更新:在我的保存方法中,我试图过滤但我得到非法的返回语句“查找/过滤器方法中的错误
name =&gt; name.marketId这部分是完全未定义的并且收到非法错误

    save(car: marketmodel) {
    this.submitted = true
    this.marketService.SaveMarketData(car)
        .subscribe(response => 
            const name = this.name.filter(name => name.MMId === 
  car.marketId);//  error here-name => name.marketId this part is compleatly 
                //undefined and getting Illegal return statement error
            this.getmarketdetails();

        });
}

1 个答案:

答案 0 :(得分:0)

在不更改视图的情况下,您可以使用选定的Car.MarketId模型在 names 数组中查找代码,如下所示:

save() {
  const name = this.names.find(name => name.marketId === this.car.MarketId);

  this.aService.doSomething(name.marketId, name.marketName);
}