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 :

Visibilité de $(this)


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Par défaut Visibilité de $(this)
    Bonjour,
    j'ai le code qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $('.like,.dislike').bind('click',function(event){
    		event.preventDefault();
    		// ici $(this) fait reference au lien cliqué
    	    $.get($(this).attr('href'),function(response){ 
    	 	   if(response == 'success')
    	 		  // modifie le texte de l'element courant
    				// ici $(this) ne fait plus reference au lien cliqué
    	    });
    	});
    La premiere ligne recupere tous les elements qui ont la classe .like ou .dislike et leur attribue une fonction quand on leur clique dessus. Ces elements sont des <a>.

    Ce que je cherche a faire, c'est changer le texte du lien cliqué quand reponse = 'success'.

    J'ai essaye :
    mais $(this) ne fait pas reference au lien cliqué.

    Comment puis je donc recuperer cet element dans ma fonction de retour ?
    Merci beaucoup !
    Bastien

    ps: desole clavier qwerty

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    une fois la fonction affectée à un élément tu as accès directement à l'élément via le this tout court même avec jQuery.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Par défaut
    Salut !
    Merci pour ta reponse.

    Si je fais cela m'affiche: "undefined" dans la fonction de retour.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    il te faut préserver la référence au lien puisque tu as un get
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $('.like,.dislike').bind('click', function (event){
      event.preventDefault();
      // garde reference object
      var oLien = this;
      // envoi action
      $.get($(this).attr('href'), function (response){
        if (response == 'success'){
          // utilisation de l'objet sur reponse
          oLien.innerHTML = 'BINGO !';
        }
      });
    });
    peut être mieux à faire avec jQuery, mais je connais peu!

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    je rectifies en utilisant les objet jQuery, dommage de ne pas les utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $('.like,.dislike').bind('click', function (event){
      event.preventDefault();
      // garde reference object
      var oLien = $(this);
      // envoi action
      $.get( oLien.attr('href'), function (response){
        if( response == 'success'){
          // utilisation de l'objet sur reponse
          oLien.html( 'BINGO!');
        }
      });
    });
    cela me paraît plus jQuery...

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2009
    Messages : 88
    Par défaut
    Merci NoSmoking ! Ca fonctionne parfaitement !
    Tu me retires une epine du pied !

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

Discussions similaires

  1. Visibilité de methodes dans Classe de Class
    Par Math75 dans le forum C++
    Réponses: 9
    Dernier message: 28/09/2004, 12h48
  2. Réponses: 6
    Dernier message: 08/09/2004, 12h35
  3. Visibilité d'une variable
    Par nenoeil dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2004, 14h14
  4. visibilite de mon serveur sur internet
    Par jabaka dans le forum Apache
    Réponses: 9
    Dernier message: 03/05/2004, 14h22
  5. [ActiveX] Visibilité d'une propriété
    Par paradise dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/11/2002, 18h33

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