Bonjour à tous, j'ai un petit problème avec un script qui utilise jQuery :
J'utilise de l'AJAX pour charger des données et parois elles j'ai une div qui, quand elle est cliquée permet de supprimer le contenu.
Le problème est que après avoir rajouté les données avec un .append(data), la div apparaît bien mais quand je clique dessus il ne se passe rien alors que ça marche bien avec une div qui était au début du chargement de la page. Voici la partie du script concernée :

$(".modify").click(function(){
   id = $(this).attr("id");
   div = $(this);
   $.post("action.php",{action :delete,id: id},function(){
         div.fadeOut();
      });
});

Voilà, j'espère ne pas avoir fais d'erreur dans le code car je le recopie de tête.

4 réponses


thierrysudfr
Réponse acceptée

Bonsoir,
Remplace $(".modify").click(function(){
par $(".modify").live('click',function(){

En effet, en mettant à jour une partie de ta page avec ajax, les nouveaux éléments (dont ton .modify) ne sont plus "écoutés" par jquery. La fonction live() est là pour ça !

WoBuGs
Auteur
Réponse acceptée

Merci, ça marche super !

Bon, je sais que ce n'est pas vraiment ce que tu attendais comme réponse, mais je te conseille de faire de l'ajax sans JQuery (classique), puisque moi même j'ai eu des problème en le faisant avec JQuey. Bref, je te propose ce tuto je pense qu'il pourra t'aider : Site du zéro | Ajax

WoBuGs
Auteur

OK, je vais y penser, mais pas pour cette page car à part ça, tout fonctionne bien.