récupérer le bon name en JQUERY

Par Microse, il y a 8 ans


Bonjour,

J'ai effectué un tableau des pays avec un boutton qui me donnera le détail des sportifs de chaque pays et j'aimerais que ma page ne se refresh pas à chaque clique du boutton et donc j'ai vue qu'il fallait utiliser de l'AJAX mais je sais pas comment détecter le bon boutton avec le bon name quand je fait mon .click() en jquery, voila mes différents codes

mon formulaire :

<td> <form action="" method="post" name="form_{{ aCountries.theCountries }}" id="form_{{ aCountries.theCountries }}"> <input name="countries" type="hidden" value="{{ aCountries.theCountries }}" /> <button class="btn btn-primary" type="button" name="detail_{{ aCountries.theCountries }}" id='detail_{{ aCountries.theCountries }}' data-target="#modalCompet" data-toggle="modal">Detail</button> </form> </td>

mon Ajax :

$('detail_idBoutton').click(function() { //extract the name of the button clicked var id = $(this).attr('name'); //get the button id from name. var buttonId = id.split('detail')[1]; $.ajax({ type: "post", url: "MVC/requestAjax/displayCptrByCtrs.php", data: $("#form_" + buttonId + "").serialize(), success: function() { console.log('coucou') }, error: function () { alert("FAILED"); } }); });

6 réponses

AaFrederic Husson, il y a 8 ans

salut

$('#detail_idBoutton').click(function() {

mais cet id n'existe pas

tu ferais mieux de faire:

$('.btn').click(function() {

ou bien

$('.btn-primary').click(function() {

Microse, il y a 8 ans

sa marche merci AaFrederic Husson

AaFrederic Husson, il y a 8 ans

content d'avoir pu aider on m'as deja beaucoup aidé aussi ici

Lartak, il y a 8 ans

Bonsoir.
La solution de AaFrederic Husson n'est pas incorrecte, mais trop générale étant donné que les classes btn et btn-primary sont de Bootstrap et qu'elles sont autant utilisées pour les éléments button que pour les liens.
Tu devrais plutôt faire par exemple :

$('[id^="detail_"]').click(function () { // ... });

De cette manière, tous les éléments ayant comme valeur de l'attribut id commençant par detail_ seront concernés par cet évènement du click.
Voir Attribute Starts With Selector [name^=”value”].

Pierrot01, il y a 8 ans

Merci @Lartak :D
j'avais besoin de qqchose de presque similaire :D

@plus

Pierre

Microse, il y a 8 ans

merci @lartek pour cette deuxième solution :)