2010-08-27 3 views
1

J'ai une table avec des boutons d'édition créés dynamiquement. L'ID des boutons est une chaîne qui est associée à l'ID de contenu de la table.Comment obtenir la valeur d'id d'un bouton en utilisant Jquery?

i.e.: <input id='edit'+id type='button' value='Edit' onclick=edit(this.id) />

Comment puis-je obtenir l'ID (= modifier + id) valeur du bouton à l'aide jquery.

Merci.

Répondre

5

Vous devez obtenir une référence pour l'élément d'entrée. Ensuite, il suffit d'appeler

reference.attr('id'); 

Si elle avait une classe, par exemple, inputClass, vous pouvez faire:

var reference = $(".inputClass"); 

Voilà comment je l'approche de votre situation particulière. Vous avez:

<input id='edit1' type='button' value='Edit' onclick=edit(this.id) /> 
<input id='edit2' type='button' value='Edit' onclick=edit(this.id) /> 
<input id='edit3' type='button' value='Edit' onclick=edit(this.id) /> 

Je remplacerait cela pour:

<input id='edit1' type='button' value='Edit' class='inputClass'/> 
<input id='edit2' type='button' value='Edit' class='inputClass'/> 
<input id='edit3' type='button' value='Edit' class='inputClass'/> 

Alors, partout dans votre page, vous écrivez ce morceau de code:

$(document).ready(function() { 
    $('.inputClass').each(function() { 
     $(this).click(function(){ 
      var id = $(this).attr('id'); 
      //Do whatever the edit function should do with the id 
     }); 
    }); 
}); 

cette lie une fonction pour chaque des éléments qui appellent votre fonction d'édition ...

+0

Que voulez-vous dire par référence? –

+0

Juste mettre un exemple dans le montage! Pour en savoir plus, jetez un oeil ici: http://www.tequilafish.com/2007/12/04/jquery-how-to-get-the-id-of-your-current-object/ –

+0

Hey, je suis nouveau à jquery. Je comprends les réponses, mais où je dois mettre ces lignes. Dans la fonction que j'ai appelée quand il a cliqué? Si oui, juste une ligne suffit? –

0
var id = $("td input[type='button']").attr('id'); 

Le sélecteur dit « Le bouton d'entrée dans un TD » ou

var id = $("td input[id^='edit']").attr('id'); 

Le sélecteur dit « L'élément d'entrée avec un identifiant commençant par « modifier » dans un TD »

ou vous pouvez aller à la toute façon:

var id = $("td input[type='button'][id^='edit']").attr('id'); 

Le sélecteur dit « Le bouton d'entrée avec un identifiant commençant par « modifier » dans un TD »

+0

Est-ce que cela fonctionnerait s'il en avait plus d'un? Je crois que c'est le cas ... Il veut probablement récupérer l'identifiant à l'intérieur de la fonction d'édition ... à droite, MaRaVaN? –

+0

@Gama: Oui Gama, tu avais raison. –

+0

@Both: Hey, je suis nouveau à jquery. Je comprends les réponses, mais où je dois mettre ces lignes. Dans la fonction que j'ai appelée quand il a cliqué? Si oui, juste une ligne suffit? –

Questions connexes