2016-04-19 24 views
0

Ich habe eine Tabelle erstellt und möchte eine ID auf einem td klicken. Die Daten werden durch einen Ajax-Aufruf bevölkert, und ich möchte eine ID, wenn auf Löschen geklickt wird. So werden im Laufe der Zeit die Elemente hinzugefügt.auf klicken funktioniert nicht jquery

$.ajax({ 
     url: 'http://localhost:8080/getUsers, 
     type: 'GET', 
     success: function (data, textStatus, jqXHR) { 
      $.each(data, function (index, result) { 
       $("<tr></tr>").attr("id",result.user_id+"userTr").appendTo("#userTBody"); 
       $("<td></td>").attr("id",result.user_id+"userName").appendTo("#"+result.user_id+"userTr"); 
       $("#"+result.user_id+"userName").html(result.username); 
       $("<td></td>").attr("id",result.user_id).appendTo("#"+result.user_id+"userTr"); 
       $("#"+result.user_id).html('Delete'); 
       $("#"+result.user_id).css('cursor', 'pointer'); 
       $("#"+result.user_id).addClass("delete"); 
      }); 
     }, 
     error: function() { 
      alert('err') 
     } 
    }); 

$('.delete').on('click', function() { 
     alert($(this).attr('id')); 
    }); 

Ich habe auch mit this.id versucht, aber nichts passiert.

+0

Yep, lesen die Post oben verlinkten, können Sie Ihre Schreibweise wechseln möchten von delete.on klicken auf document.on klicken Sie auf ‚.delete‘ –

+0

@Tushar, habe ich eine Frage, warum mit dem Dokument .on statt einfach $ ('löschen'). wegen dynamisch erzeugten Elementen in einem DOM? –

+1

@Java_NewBie Bitte lesen Sie die Antworten auf die angegebene Frage. Lesen Sie auch über [Event Delegation] (https://learn.jquery.com/events/event-delegation/) – Tushar

Antwort

2

Versuchen Sie folgendes:

$(document).on('click', '.delete', function() { 
    alert($(this).attr('id')); 
}); 
+0

Bitte antworten Sie nicht offensichtliche dupe Fragen, wenn Sie nichts zu vorhandenen Antworten hinzufügen können, schließen Sie es stattdessen. – Tushar

Verwandte Themen