2017-02-14 9 views
3

私はページ上に多数の要素を持っており、選択した要素の名前を検出する必要があります。Angular2 - フォーカスされたDOM要素の名前を検出します。

例:だから

<select (click)="functionDetectName()" name="test1"> 
<select (click)="functionDetectName()" name="test2"> 
<select (click)="functionDetectName()" name="test3"> 

functionDetectName() { 
console.log("What to put here to detect the name of the select element?"); 
} 

、すべきである出力Iがtest1の選択ボックス、コンソールログをクリックしてください:TEST1、TEST2の上に、それが出力TEST2必要があります。

答えて

3

を行うことができます属性をしたい場合は、あなたのfunctionDetectName()関数に$eventを渡すことができ、その後、渡されたから属性名を取得しますデータ:

<select (click)="functionDetectName($event)" name="test1"> 
<select (click)="functionDetectName($event)" name="test2"> 
<select (click)="functionDetectName($event)" name="test3"> 

functionDetectName(event: MouseEvent) { 
    console.log(event.srcElement.name); 
} 
+1

素晴らしい、ありがとう – jjj

1

あなただけ

<select (click)="functionDetectName('test1')" name="test1"> 

のような名前を渡すことができますかあなたは本当にあなたが

<select #self (click)="functionDetectName(self.getAttribute('name'))" name="test1"> 
関連する問題