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