Issue
.html
<ion-radio-group
*ngFor"let option of data"
(ionChange)"checkValue($event)"
[value]"item">
<ion-item>
<ion-label>{{option.optionA}}</ion-label>
<ion-radio slot"start" value"Not"></ion-radio>
</ion-item>
<ion-item>
<ion-label>{{option.optionB}}</ion-label>
<ion-radio slot"start" value"Some"></ion-radio>
</ion-item>
<ion-item>
<ion-label>{{option.optionC}}</ion-label>
<ion-radio slot"start" value"Most"></ion-radio>
</ion-item>
<ion-item>
<ion-label>{{option.optionD}}</ion-label>
<ion-radio slot"start" value"All"></ion-radio>
</ion-item>
</ion-radio-group>
<div class"evalbtn">
<button (click)"print(event)" class"nextbtn" (click)"evaluation2()">
Submit
</button>
</div>
.ts
data: any[] [
{
"optionA":"Not at All",
"optionB":"For some of the Time",
"optionC":"For most of the Time",
"optionD":"For all of the Time",
}
];
//function to print what is inputed in the form that is declared above
checkValue(event) {
console.log(event.detail.value)
}
print(event) {
console.log(this.checkValue(event))
}
Solution
Add [(ngModel)
] instead of [value]
for ion-radio-group
.
<ion-radio-group *ngFor"let option of data"
[(ngModel)]"selectedValue"
(ionChange)"checkValue($event)">
<!-- items -->
</ion-radio-group>
And add selectedValue
to your component:
selectedValue: any;
print(event) {
console.log('Selected value: ', this.selectedValue);
}
Answered By – Danil Prokhorenko