I have to pass the value of the option whenever the item is selected.But after my event takes place, the passed value is always undefined. My code is as follows :
<select (change)="handle(this.value);">
<option value="0">Addition</option>
<option value="1">Subtraction</option>
<option value="2">Multiplication</option>
<option value="3">Division</option>
</select>
My angular2 code is as follows:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
n1 = 0;
n2 = 0;
result = 0;
handle(value){
alert("selected option's value is "+value);
}
constructor() { }
ngOnInit() {
}
}
The problem is that whenever there is any change of option, the parameter(value) which is passed to the handle function is always "undefined".
alert("selected option's value is "+value);
In this line, the value of the parameter "value" is always undefined.
Please help!
Thanks in advance!
try with template reference variable
<select (change)="handle(selectField.value);" #selectField>
Try to use this approach:
<select [(ngModel)]="selectedValue" (change)="handle();">
<option [ngValue]="0">Addition</option>
<option [ngValue]="1">Subtraction</option>
<option [ngValue]="2">Multiplication</option>
<option [ngValue]="3">Division</option>
</select>
import {Component,OnInit} from '@angular/core';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
selectedValue: number;
n1 = 0;
n2 = 0;
result = 0;
handle() {
alert("selected option's value is " + this.selectedValue);
}
constructor() {}
ngOnInit() {
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With