2014-06-28 2 views
0

J'ai essayé d'implémenter l'événement click pour le td: eq (6) pour chaque ligne.TD cliquez sur Jquery

Ci-dessous mon code:

$(document).on("click", "#tblDisplayBoard tr td:eq(6)", function() { 
    alert("here"); 
}) 

Mais ma sortie est seulement la première rangée de td: eq (6) capable de sortir de la zone d'alerte.

Un problème est survenu à mon code?

+0

Vous pouvez '.bind' fonction' .each' (tr) 'par' .find() 'le. –

+0

@VedantTerkar bind est obsolète depuis la version 1.7. Utilisez http://api.jquery.com/on/ –

+1

@LeeTaylor, Merci de me mettre à jour. OMG quelle version de JQuery j'utilise encore alors? J'ai besoin de le mettre à jour. –

Répondre

3

Vous voulez :nth-child():

$(document).on("click", "#tblDisplayBoard tr td:nth-child(6)", function() { 
    alert("here"); 
}); 

:eq(6) retourne la septième (JavaScript est zéro indexé) élément td retourné par le sélecteur.

Pour activer le alert() apparaître sur cliquant sur le septième td de toute/chaque ligne:

$('#tblDisplayBoard td:nth-child(7)').on('click', function() { 
    alert('here'); 
}); 

Références:

+0

Oui ... Je comprends cela. Il est capable de sortir la boîte d'alerte si je clique sur le septième td (JavaScript est indexé zéro). Ma question est comment puis-je cliquer sur chaque ligne de septième td et la boîte d'alerte est pop out ..? – user3663143

+0

Voir la mise à jour, je * pense * J'ai répondu à ce que vous avez demandé ... –

+0

Merci votre solution ... – user3663143

0

Si vous voulez une alerte pour chaque ligne, vous devez lier un événement de clic à chaque ligne en utilisant la fonction .each(): http://api.jquery.com/each/

var rows = $("#tblDisplayBoard tr td:eq(6)"); 
rows.each(function(){ 
    $(this).click(function(){ 
     alert("here"); 
    }); 
});