($ event.target.value)
<div class="select is-small is-fullwidth" [formGroup]="createAccountForm">
<select class="form-control" name="ConContryName" formControlName="country" (change)="onChangeCountry($event.target.value)">
<option value="">Select Country...</option>
<option *ngFor="let country of countries" [value]="countryId">{{country.countryName}}</option>
</select>
</div>
<div class="select is-small is-fullwidth" [formGroup]="createAccountForm">
<select class="form-control" name="ConStateName" formControlName="state" (change)="onChangeState($event.target.value)">
<option value="">Select State...</option>
<option *ngFor="let state of states" [value]="stateId">{{state.stateName}}</option>
</select>
</div>
urlDB = 'http://localhost:3000/';
getCountries() {
return this.httpClient.get(`${this.urlDB}superadmin/getCountries`);
};
getStates(countryId: number) {
return this.httpClient.get(`${this.urlDB}superadmin/getStates/${countryId}`);
}
onChangeCountry(countryId: number ) {
if (countryId) {
alert(countryId); //the alert works, but the value of countryId is UNDEFINED
this.countryStateCityService.getStates(countryId).subscribe(data => {
this.states = data;
this.municipalities = null;
});
} else {
this.states = null;
this.municipalities = null;
}
}
urlDB = 'http://localhost:3000/';
getCountries() {
return this.httpClient.get(`${this.urlDB}superadmin/getCountries`);
};
getStates(countryId: number) {
return this.httpClient.get(`${this.urlDB}superadmin/getStates/${countryId}`);
}
getMunicipalities(stateId: number) {
return this.httpClient.get(`${this.urlDB}superadmin/getMunicipalities/${stateId}`);
}
<div class="control">
<div class="select is-small is-fullwidth" [formGroup]="createAccountForm">
<select class="form-control" name="ConContryName" formControlName="country" (change)="onChangeCountry($event.target.value)">
<option value="">Select Country...</option>
<option *ngFor="let country of countries" [value]="countryId">{{country.countryName}}</option>
</select>
</div>
</div>
<div class="control">
<div class="select is-small is-fullwidth" [formGroup]="createAccountForm">
<select class="form-control" name="ConStateName" formControlName="state" (change)="onChangeState($event.target.value)">
<option value="">Select State...</option>
<option *ngFor="let state of states" [value]="stateId">{{state.stateName}}</option>
</select>
</div>
</div>
Привет, я использую Angular - узел js - mysql ... я делаю выпадающий список стран, а затем еще один выбор штатов и т. д. с муниципалитетами; Эта информация находится в БД MySQL. код работает, когда я получаю список стран, но в onChangeCountry($event.target.value)
моего HTML он дает мне значение UNDEFINED
, я могу ввести alert
из onChangeCountry()
, но console.log(countryId)
показывает НЕ УКАЗАНО.
В этой линии:
<option *ngFor="let state of states" [value]="stateId">{{state.stateName}}</option>
[value]="stateId"
неопределенный, из-за которого он не существует ни в какой стороне. Принимая, что структура states
содержала Id
это [value]="stateId"
deberГ, - когда это был [value]="state.Id"
.
Я Заключаю, что это объект из-за этой линии: {{state.stateName}}
.
state
?. Должен будь быть объектом. Чтобы мочь давать тебе explicació n лучше. Обнови вопрос с этими новыми данными. – Angel 28.11.2019, 22:07