تایپاسکریپت - گرفتن مقدار عنصر select در انگولار ۵


من یک لیست کشویی از برندهای خودرو دارم و میخواهم مقدار برند خودروی انتخابشده را به متد getCarModelsByBrand(brand) ارسال کنم. هر کمکی بسیار قدردانی خواهد شد.

<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>

پاسخ شماره ۱

از 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>

من کدی را که در مثال لازم نبود برای روشن کردن مطلب حذف کردم

پاسخ شماره ۲

این سایت شخصی من است و کار میکند، سایت شخصی من با فهرست انتخاب کشور برای کل جهان.

<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);
}