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

jQuery Discussion :

Comment recuperer le this dans $ajax


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut Comment recuperer le this dans $ajax
    Bonjour, je n'arrive pas a recuperer mon element this pour l'utilisé dans le success de ma requete ajax, si quelqu'un a une idée


    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
     
    $(".headerPanel-slide").click(function(){   
     
    $.ajax({
    type: "GET",
    //Ici le this marche bien pour recuperer l'url
    url: $(this).attr("href"),
    data: "random="+Math.random(),
    success: function(msg)
    { 
    //mon contenu msg ce load bien dans ma div content et souvre
    $("#header-panel-content").html(msg).slideDown("slow");
    //ICI EST LE PROBLEME, lelement this est undefined, je ne peut donc pas changer ma class... et comme je veux la changer que si la requete reussi ;(
    $(this).removeClass("slideClose").addClass("slideOpen");             
    }
    });
    return false;
    });

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Par défaut valeur du this
    je pense que le this en question ne fait plus référence à : $(".headerPanel-slide") mais plutôt à $.ajax.

    Tu devrais ajouter une valeur avant l'appel a $.ajax , pour pouvoir l'utiliser dans le succes.

    Cela donnerait au final :

    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
     
     
    $(".headerPanel-slide").click(function(){   
     
    var $that = $(this); 
     
    $.ajax({
    type: "GET",
    //Ici le this marche bien pour recuperer l'url
    url: $(this).attr("href"),
    data: "random="+Math.random(),
    success: function(msg)
    { 
    //mon contenu msg ce load bien dans ma div content et souvre
    $("#header-panel-content").html(msg).slideDown("slow");
    //ICI EST LE PROBLEME, lelement this est undefined, je ne peut donc pas changer ma class... et comme je veux la changer que si la requete reussi ;(
    $that.removeClass("slideClose").addClass("slideOpen");             
    }
    });
    return false;
    });

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Par défaut salut
    ui merci en effet c'est ce que j'avais trouvé et sa marche je te remercie quand meme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] comment recupere une div dans une fonction ajax
    Par bachboucha dans le forum AJAX
    Réponses: 14
    Dernier message: 26/05/2009, 14h59
  2. Réponses: 2
    Dernier message: 19/01/2006, 21h59
  3. Réponses: 2
    Dernier message: 27/09/2005, 17h26
  4. Réponses: 2
    Dernier message: 19/01/2004, 12h19
  5. comment recuperer une variable dans flash
    Par krépuscul dans le forum Flash
    Réponses: 30
    Dernier message: 16/10/2003, 09h40

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