I am working on this template-driven form, where I have a dropdown.
The dropdown has an ID as value and Name as the display value.
When I submit the form, I need both the values ID and Name to be in the form output
<mat-form-field>
<mat-label>State</mat-label>
<mat-select [(ngModel)]="data.stateCode" name="StateCode" #yddfyty>
<mat-option *ngFor="let state of stateOptions" [value]="state.ID">
{{state.name}}
</mat-option>
</mat-select>
</mat-form-field>
After submitting the form, I get a JSON
{
StateCode: "Option I select in the Dropdown"
}
When I submit the form, I also want the StateName to be in the form output.
How do I assign the StateName selected in the Dropdown, to a model property in the template-driven form?
I can think of a way where we can use an element and hide the element, Is there any other way?
Is the only way to do it in the Typescript file after submitting?
ViewChildcomes handy in these situations:HTML File:
Component TS File:
first declare an viewchild variable:
and later on you can use this variable when you submit the form: