تایپاسکریپت - گرفتن مقدار عنصر 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);
}
