IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Récupérer noeud généré par ajax


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut [AJAX] Récupérer noeud généré par ajax
    Bonjour ,

    Pour un projet, je suis en train de développer un site web devant être fait uniquement en Ajax et Javascript avec l'aide du framework JQuery.
    Au chargement de la page index, c'est donc des fichiers JS qui se chargent de construire entièrement l'arborescence du site.
    Ceci est fait et fonctionne, mon problème est que maintenant je veux recupérer certains noeuds générés dynamiquement pour leur adjoindre des évènements.

    Concrètement:
    J'ai un noeud généré par Ajax:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="test">Coucou</div>
    Si avec l'aide de JQuery je fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $(document).ready(function() { 
    	$("#test").click(function() {
    		// code
    	});
    });
    Rien ne se passe sauf si mon noeud est écrit en dur dans la page....
    J'en appelle donc à vos lumières car je bloque là....

    Merci beaucoup !

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Il faut peut-être assigner ton évènement APRES la création du div, et non pas au chargement de la page (ce que tu fais via $(document).ready() )

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par supersnail Voir le message
    Bonjour,

    Il faut peut-être assigner ton évènement APRES la création du div, et non pas au chargement de la page (ce que tu fais via $(document).ready() )
    Merci pour ta réponse qui est loin d'être bête
    Seulement je débute en JQuery mais même en cherchant dans la doc je ne vois pas comment gérer ça, j'ai vu la méthode ajaxComplete() mais je ne sais pas comment l'utiliser et si je dois l'utiliser.... peux-tu m'en dire plus s'il te plait ?
    Merci encore

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Pourrais-tu me montrer comment tu crées ces noeuds? (le code )

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    $(document).ready(  
     function()
     {
       $.ajax( {
                type: "GET",
                url: "./sources/produits.xml",
                dataType: "xml",
                success: function(xml) 
                         {
                           $(xml).find('produit').each(   
                             function()
                             {
                                var titre = $(this).find('titre').text();
                                var desc = $(this).find('description').text();
    							var prix = $(this).find('prix').text();
    							var image = $(this).find('image').text();
                                $('<div class="produit">' +
    									'<div class="illustration">' +
    										'<div class="image"><img src="' + image + '" alt="' + titre + '"></div>' +
    										'<div class="prix">' + prix + '</div>' +
    									'</div>' +
    									'<div class="description">' +
    										'<div class="titre">' + titre + '</div>' +
    										'<div class="desc">' + desc + '</div>' +
    										'<div class="acheter">' +
    											'<div class="button"></div>' +
    										'</div>' +
    									'</div>' +									
    								'</div>').appendTo('#produits');
                              });
                          }
            });
      }
    );
    Voili voilou merci !

  6. #6
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Il faut simplement mettre le code qui crée l'évènement juste après la création de celui-ci. Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var elem = $('<div class="test">Cliquez moi</div>').appendTo("#contenu");
    elem.click(function(){alert("Bouh");});

Discussions similaires

  1. récupérer variable url par ajax
    Par jules_diedhiou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/01/2012, 14h00
  2. Rendre "droppable" une div généré par Ajax
    Par Freeluvs dans le forum jQuery
    Réponses: 1
    Dernier message: 18/03/2011, 09h55
  3. Lire le contenue d'une page web généré par Ajax
    Par icb3a dans le forum Web & réseau
    Réponses: 7
    Dernier message: 27/07/2010, 00h46
  4. [AJAX] Récupérer $_POST actualisé par AJAX
    Par me-to-you93 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 03/03/2008, 10h09
  5. [AJAX] récupérer données transmises par php
    Par Maryy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/01/2007, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo