2015-08-12 10 views
16

Ich habe die folgende Zeile:Wie wird die geklickte ElementId in angularjs abgerufen?

<a href="#" id="12345" data-ng-click="ShowId()"> 

und in meinem Controller ich habe:

$scope.ShowId = function(){ 
    alert('clicked element id in here: 12345'); 
}; 

Wie kann ich in meinem Controller zugreifen ShowId die ID des angeklickten Elements funktioniert, in meinem Fall 12345?

Beachten Sie, dass die Bindung nicht innerhalb der ng-Wiederholung ist, damit ich auf die Artikel-ID oder etwas ähnliches zugreifen kann.

+0

Mögliche Duplizieren: http://stackoverflow.com/questions/24673418/angularjs-get-element-attributes-values ​​ – dannypaz

+0

Warum übergeben Sie einfach die Daten nicht als ein Parameter? Data-ng-click = "ShowId (1234)" –

Antwort

21

Ich löste dies:

<a href="#" id="12345" data-ng-click="ShowId($event)"> 

$scope.ShowId = function(event) 
{ 
    alert(event.target.id); 
}; 
+1

es funktioniert nicht für mich, ich habe ID = {{$ index + 1}} hinzugefügt und die gleiche Funktion habe ich in JS geschrieben, aber 'event.target.id' ist zeigt leer in der Konsole. gibt es einen anderen Weg? –

4
<button data-id="101" ng-click="showDetail($event)">click Me</button> 

$scope.showDetail = function(event) 
{ 
    console.log($(event.target).attr("data-id")); 
} 
+4

Während Ihre Antwort richtig ist, ohne Erklärung ist es nicht besonders hilfreich. –

Verwandte Themen