在Angular 5中获取select元素的值

时间:2018-03-20 18:06:25

标签: angular typescript angular5

我有一个汽车品牌的下拉列表,我想将所选汽车品牌的价值传递给方法getCarModelsByBrand(品牌)。任何帮助将不胜感激。

<div class="form-group">
      <select (change)="getCarModelsByBrand($event.target.value)" class="form-control" id="sel1">
        <option selected="" value="" selected disabled>Pasirinkite</option>
        <option *ngFor="let brand of brands" value=brand>{{brand}}</option>
      </select>
</div>

3 个答案:

答案 0 :(得分:3)

使用ngModel进行双向绑定并绑定到组件上的属性/字段以及ngModelChange以触发选择已更改。

<select [(ngModel)]="modelOfSelectedBrandToBindTo" (ngModelChange)="getCarModelsByBrand($event)" id="sel1" name="sel1">
  <option value="" disabled>Pasirinkite</option>
  <option *ngFor="let brand of brands" [value]="brand">{{brand}}</option>
</select>

我删除了示例中不需要的代码来说明

答案 1 :(得分:0)

修改

从选项标记中删除set value属性。

<div class="form-group"> <select (change)="getCarModelsByBrand($event.target.value)" class="form-control" id="sel1"> <option selected="" value="" selected disabled>Pasirinkite</option> <option *ngFor="let brand of brands">{{brand}}</option> </select> </div>

答案 2 :(得分:0)

这是我自己的,它与My Personal site一起使用全球的国家/地区选择列表。

<select (change)="selectCountry($event)" title="Select a country">
      <option *ngFor="let country of countryList">{{country.name}} 
      </option>
</select>


selectCountry(event) {

   let fireboxFix = event.target || event.srcElement;
   let indexToFind = (<HTMLSelectElement>fireboxFix).value;
   let testArray = [];
   for (let row of this.countryList) {
      testArray.push(row.name)
   }
   this.changeI = testArray.indexOf(indexToFind);
}