2010-10-12 8 views
1

J'essaie de charger le contenu de la base de données en utilisant simpletip. Mon code:aide simpletip avec le chargement de contenu dynamique

<script type="text/javascript"> 

    $(document).ready(function(){ 
     $('a.regularsList').simpletip({ 
      onBeforeShow: function(){ 
       this.load('/regulars/tooltip', {id: $(this).attr("id")}); 
      } 
     }); 
    }) 

Je reçois que l'ID est indéfini. Je ne comprends pas ce que je fais mal puisque j'essaye d'accéder à la valeur de l'attribut d'identification.

Répondre

2

Dans votre code actuel this fait référence à document, au lieu d'utiliser la boucle .each() ici afin que this fait référence à l'ancre que vous voulez, comme ceci:

$(function(){ //short for $(document).ready(function(){ 
    $('a.regularsList').each(function() { 
    var a = this; 
    $(this).simpletip({ 
     onBeforeShow: function(){ 
      this.load('/regulars/tooltip', { id: a.id }); 
     } 
    }); 
}); 

intérieur de la boucle .each(), this fait référence à l'élément a.regularsList courant vous regardez plus, donc vous pouvez simplement utiliser this.id pour obtenir la propriété id.

+0

Cela entraîne toujours le même problème. – user253530

+0

peu importe si j'utilise this.id ou $ (this) .attr ('id') je suis toujours indéfini dans la console firebug. – user253530

+0

@ user253530 - woops, 'this' fait référence à leur objet à l'intérieur de cette fonction, besoin de stocker une référence, vérifier la réponse mise à jour :) –

Questions connexes