2013-06-17 3 views
0

Ceci est ma table htmlcomment trouver tr cliquée de tbody jquery

<table> 
    <thead> 
     <tr> 
      <td class="td20"><h3>Patient Name</h3></td> 
      <td class="td20"><h3>Summary</h3></td> 
      <td class="td20"> <h3>Created</h3></td> 
      <td class="td20"><h3>Last visit</h3></td> 
      <td class="td20"> <h3>Refer to a Doctor</h3></td> 
     </tr> 
    </thead> 
    <tbody id="patient_table"> 
     <tr id="1"> 
      <td class="td20">Patient Name</td> 
      <td class="td20">Summary</td> 
      <td class="td20">Created</td> 
      <td class="td20">Last visit</td> 
      <td class="td20">Refer to a Doctor</td> 
     </tr> 
     <tr id="2"> 
      <td class="td20">Patient Name</td> 
      <td class="td20">Summary</td> 
      <td class="td20">Created</td> 
      <td class="td20">Last visit</td> 
      <td class="td20">Refer to a Doctor</td> 
     </tr> 
    </tbody> 
</table> 

Ceci est mon script:

$("#patient_table").click(function(e) { 
    var id = $(this).children('tr').attr('id'); 
    alert(id); 
}); 

Le <tr> est généré dynamiquement à l'intérieur du <tbody>. Je dois trouver le id de <tr> sur le clic de <tr> lui-même. Avec le script, je reçois toujours le premier <tr>id seulement indépendamment de la seconde <tr> cliquez.

+0

Si vous exécutez 'console.log (e)' vous pouvez trouver la cible. –

+0

lier l'événement sur le tr au lieu du tbody ?? – bwoebi

Répondre

3

Utilisez ce lieu:

$("#patient_table").on('click','td',function (e) { 
    var id = $(this).closest('tr').attr('id'); 
    alert(id); 
}); 

jsFiddle example

Puisque vous avez mentionné les lignes générées que vous souhaitez utiliser dynamiquement .on() pour déléguer la gestion des événements aux cellules du tableau.

Questions connexes