2015-08-12 6 views
16

Ho la seguente linea:Come recuperare l'ElementId cliccato in angularjs?

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

e nel mio controller ho:

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

Come posso accedere a mio controller ShowId funzionare l'id dell'elemento cliccato, nel mio caso 12345?

Si noti che il binding non è all'interno della ng-repeat in modo da poter accedere all'id oggetto o qualcosa del genere.

+0

Eventuali duplicati: http://stackoverflow.com/questions/24673418/angularjs-get-element-attributes-values ​​ – dannypaz

+0

Perché non è sufficiente passare i dati come parametro? Data-ng-click = "ShowId (1234)" –

risposta

21

Ho risolto questo:

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

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

non funziona per me, ho aggiunto id = {{$ index + 1}} e la stessa funzione ho scritto in JS ma 'event.target.id' è mostrando vuoto nella console. c'è qualche altro modo? –

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

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

Mentre la risposta potrebbe essere corretta, senza alcuna spiegazione non è particolarmente utile. –