2010-07-14 4 views
0

ce que j'essaie de faire est d'obtenir la valeur d'ID de la référence a. Le code pour mon ressemble à un:jQuery Fancybox obtenir la valeur id d'un

<a class="photoBig" id="<?php echo $photo['id'] ?>" href="<?php echo $f->buildPhotoURL($photo, 'large') ?>" title="<?php echo $photo['title'] ?>"> 

J'utilise phpFlickr pour assigner les ID ainsi que quelques autres choses diverses, qui fonctionne très bien.

Ainsi, le code pour ouvrir un Fancybox J'utilise est:

$("a.photoBig").attr('rel', 'gallery').fancybox({ 
      'titleShow'  : true, 
      'overlayOpacity' : 0.9, 
      'overlayColor' : '#000', 
      'autoScale' : false, 
      'scrolling' : true, 
      'titlePosition' : 'inside', 
      'showNavArrows' : true, 
      'cyclic' : true, 
      'showCloseButton' : false, 
      'titleFormat' : formatTitle 
     }); 

alors la fonction fomatTitle, qui est:

function formatTitle(title, id, currentArray, currentIndex, currentOpts) { 
    return '<div id="photoBig-title"><span><a href="javascript:;" onclick="$.fancybox.close();"><img src="images/site/closelabel.gif"></a></span>' + (title && title.length ? '<strong>' + title + '</strong>' : '') + $(this).id + '<a href="http://www.flickr.com/photos/rustybones/' + this.id + '" title="view original on flickr">view full size</a></div>'; 
} 

Tout fonctionne dans cette fonction, sauf pour this.id. Évidemment, je fais cela mal, donc toute aide serait top! Je vous remercie.

+0

Je suppose qu'il y a plus d'un tag sur la page avec la classe correspondante? – spinon

+0

Dupliquer: http://stackoverflow.com/questions/2961496/fancybox-get-id-of-clicked-anchor-element. Voir si cela aide. – spinon

+0

Yup il y a une série d'images avec la même classe. J'ai essayé la solution à laquelle vous étiez lié, mais quand la Fancybox apparaît, il y a juste "Id d'élément cliqué sur 4093839", donc cette chaîne de chiffres est l'ID que je cherche mais je veux mettre cet ID dans ma fonction formatTitle. mon un href. – Rhys

Répondre

0

changement

$(this).id
à
this.id
ou
$(this).attr('id')

et voir si cela fonctionne.

EDIT: D'accord, je l'ai testé cela et il fonctionne:

Utilisez currentArray[currentIndex].id pour obtenir l'ID. Alternativement, si tout ce que vous vouliez était l'identifiant de sorte que vous puissiez l'utiliser pour pointer sur votre image, vous pouvez simplement utiliser $ (this) .attr ('href') dedans.

+0

Non, ça revient juste "indéfini". – Rhys

+0

Je vois que dans votre fonction, vous utilisez à la fois $ (this) .id et this.id. Avez-vous essayé de changer les deux à $ (this) .attr ('id')? Que voulez-vous dire renvoie indéfini, est-ce que ce qui est dit dans la boîte ou lorsque vous cliquez sur le lien? – user384918

+0

C'est dans la boîte, voici un lien vers ce sur quoi je travaille: http://bit.ly/9gDA8v – Rhys

Questions connexes