I have to pass an argument to a function.
<select class="chooseWatchlist" (change)="updateWatchlistTable(item.name)">
<option *ngFor="let item of _items">{{ item.name }}</option>
</select>
It's really important for me, because I have to pass that
item.name
argument to a http request. But unfortunately angular doesn't see that variable, because it's kinda downstairs... The function has to take item.name
of actual chosen option in the select box. The function will be executed with every value change in that box.
Is there any solution to fix it? Or maybe there is another way to solve it?
Finally, the http request:
private updateWatchlistTable(name) {
this.http.get('http://localhost:8080/api/points/getValue/' + name)
.subscribe(res => this._watchlistElements = res.json());
console.log(name);
}
console.log(name)
returns undefined.
As you can see I need that argument
item.name
to make this http request work. Any help appreciated. :)Best Answer;
With
with
With
ngValue
you can bind a value andwith
(ngModelChange)="$event.name"
you have access to the name.With
[(ngModel)]="selectedItem"
you can get and set which item is selected.<select class="chooseWatchlist" [(ngModel)]="selectedItem" (ngModelChange)="updateWatchlistTable($event.name)">
<option *ngFor="let item of _items" [ngValue]="item">{{ item.name }}</option>
</select>
No comments:
Post a Comment