Bonjour,
Je suis actuellement en train de travailler sur une application web de gestion de produits (c'est une base de données en somme).
Dans la partie administration, j'ai un référentiel permettant de paramétrer différentes informations nécessaires à l'usage de l'application (marques, revendeurs, utilisateurs, ...), se présentant chacun sous la forme d'un tableau.
Pour chaque donnée, j'ai créé deux liens : Supprimer et Editer. Derrière, il y a :
- href : #
- class = "remove brands value=X
Où les classes permettent de définir l'action à réaliser (remove ou edit), le type de référentiel (l'idée étant de mutualiser le traitement de ces deux liens avec les autres référentiels) et la valeur de l'élément.
Je voudrai, en cliquant sur un des liens, qu'un appel AJAX se fasse pour réaliser l'opération.
Cela fonctionne avec un des deux liens mais pas avec les deux.
Le code source gérant le lien de suppression :
Sachant que j'ai eu le cas où plusieurs appels AJAX se faisait, j'ai dû rajouter le .off().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 jQuery(document).off().on('click', '.remove', function(event) { event.preventDefault(); // empèche le traitement standard (redirection vers la cible du lien) // lecture des classes var classes = jQuery(this).attr('class').split(" "); var tab = classes[2].split("="); // lecture de la valeur var ref = tab[1]; switch(classes[1]) { case 'brands': $.ajax({ url: "index.php?page=admin&action=deleteBrand", type: "POST", data: ({ brand_ref: ref }), dataType: "json", success: function(response) { updateGrid(); // mise à jour du tableau } }); break; default: break; } });
Au début, je me suis dit que je vais faire pareil que cette fonction juste en remplacant .remove par .edit (correspondant à la classe présente dans le lien d'édition) mais cette stratégie ne fonctionne pas et fait planter l'ensemble de la page.
Comment gérer deux évènements on click ?
Merci de votre aide
Partager