2017-07-10 10 views
1

Ich habe eine Anwendung erstellt, in der die Struktur eine Liste mit ng-repeat enthält, die Bilder mit einem Link lädt. Die Verknüpfung in diesen Bildern hat eine dynamische ID, die von einer in ng-click() aufgerufenen Funktion gelesen werden sollte.Angularjs liest keine Schaltfläche ID

Das Problem ist, dass die ID mit undefinierten Wert kommt.

dies ist meine Liste:

<ul class="list-inline" id="team"> 
    <li ng-repeat="player in players"> 
    <a data-toggle="modal" id="{{player.id}}" class="modalPlayer" ng-click="loadModal()" data-target="#myModal"> 
     <div class="infoPlayer"> 
     <h3 ng-bind="player.name"></h3> 
     <hr> 
     <small ng-bind="player.position"></small> 
     </div> 
     <figure> 
     <img src="{{player.img}}" alt="{{player.name}}"> 
     </figure> 
    </a> 
    </li> 
</ul> 

und dies ist meine Funktion:

$scope.loadModal = function(){ 

var attribute = $('.modalPlayer').click(function(){ 
    var id = $(this).attr(id); 
    alert(id); 
    }); 
    alert(attribute);  
} 

Die Funktion in der Steuerung ist. Ich habe bereits zahlreiche Möglichkeiten ausprobiert, die ID zu lesen, aber alles ohne Erfolg. Ich möchte so etwas wie:

var test = angular.element (document.getElementsByClassName ('myClass'). GetAttribute ('id'); 

danken für Helfer

+1

Sie versuchen, um eine Klickfunktion mit jQuery zu registrieren. Verwenden Sie 'ng-click' und übergeben Sie eine Funktion. –

Antwort

0

Sie tun können,

<a data-toggle="modal" ng-attr-id="{{player.id}}"></div> 

oder einfach die ID an Ihre Funktion übergeben,

ng-click="loadModal(player)" 

$scope.loadModal = function(player){ 
    alert(player.id); 
} 
+0

GREAT MAN !!! danke für dich hilfe – stromdh

+0

als antwort markieren, wenn es geholfen hat – Sajeetharan