Passer des données à une fonction jQuery click ()

J’ai une simple durée comme si

Remove 

Cette étendue est dans une table, chaque ligne a une étendue de suppression.

Et puis j’appelle une URL en utilisant AJAX lorsque l’on clique sur cette période. L’événement AJAX a besoin de connaître l’ID de l’object pour cette ligne? Quel est le meilleur moyen d’obtenir cet ID dans la fonction de clic?

Je pensais pouvoir faire quelque chose comme ça

 Remove 

Mais une identification ne devrait pas commencer par un numéro? Droite? Alors j’ai pensé que je pouvais faire

 Remove 

Ensuite, il suffit de retirer la partie “ma” de la pièce d’identité, mais cela semble juste, Yuk!

Vous trouverez ci-dessous mon événement click et où se trouve mon événement AJAX.

  $(document).ready(function() { $(".removeAction").click(function() { //AJAX here that needs to know the ID } });  

Je suis sûr qu’il y a un bon moyen de faire ça?

Note: je ne cherche pas

 $(this).attr("id"); 

Je veux pouvoir transmettre plus d’une information

Merci. Jake.

Si vous insistez pour utiliser HTML 4.01 ou XHTML à l’ancienne:

 $('.removeAction').click(function() { // Don't do anything crazy like `$(this).attr('id')`. // You can get the `id` atsortingbute value by simply accessing the property: this.id; // If you're prefixing it with 'my' to validate as HTML 4.01, you can get just the ID like this: this.id.replace('my', ''); }); 

À propos, en HTML5, l’atsortingbut id peut commencer par un nombre ou même être un nombre .

Encore une fois, si vous utilisez quand même HTML5, vous ferez probablement mieux d’utiliser des atsortingbuts de données personnalisés, comme ceci:

 Remove 

$ (this) dans votre fonction click représente l’élément cliqué

 $(".removeAction").click(function() { //AJAX here that needs to know the ID alert($(this).attr('id')); } 

Le code suivant vous donnera l’ID de la span cliquée. L’utilisation de l’identifiant n’est pas parfaite, mais cela fonctionnera.

 $(".removeAction").click(function() { alert($(this).attr("id")); }); 

Vous pouvez avoir un champ caché sur chaque ligne qui stocke l’ID et / ou d’autres données nécessaires dans un object JSON et l’utiliser au lieu de le pirater avec la balise span.

   Remove    $('.removeAction').click(function(){ var id = $(this).next().val(); // do something... }); 

HTH

Vous pouvez essayer jQuery.data (): http://api.jquery.com/jQuery.data , mais cela signifierait que le code js généré côté serveur est exécuté lors du chargement de la page afin que vous puissiez stocker les identifiants pour une réutilisation ultérieure ( votre action de suppression)

 // this part would have to be server 'generated' // and by that I'm referring to the '' $('table .remove').each(function(){ var MyElem = $(this); MyElem.data('id',  ); MyElem.click(function(){ the_id = $(this).data('id'); // ajax call goes here }); });