2010-07-14 1 views
0

то, что я пытаюсь сделать, это получить значение ID для ссылки a. Код для моего а выглядит следующим образом:jQuery Fancybox получить значение id

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

Я использую phpFlickr присвоить идентификаторы плюс некоторые другие различные вещи, которые прекрасно работает.

Таким образом, код, чтобы открыть FancyBox я использую:

$("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 
     }); 

то функция fomatTitle, которая:

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>'; 
} 

Все работает в этой функции для this.id. кроме Очевидно, я делаю это неправильно, поэтому любая помощь будет верхушкой! Спасибо.

+0

Я предполагаю, что существует более одного тега на странице с подходящим классом? – spinon

+0

Дубликат: http://stackoverflow.com/questions/2961496/fancybox-get-id-of-clicked-anchor-element. Посмотрите, если это поможет. – spinon

+0

Yup есть серия изображений с тем же классом. Я попробовал решение, с которым вы связались, но когда появляется Fancybox, у него просто «Id элемента щелкнули 4093839», так что строка чисел - это идентификатор, который мне нужен, но я хочу поместить этот идентификатор в мою функцию formatTitle, мой href. – Rhys

ответ

0

Изменить

$(this).id
в
this.id
или
$(this).attr('id')

и посмотреть, если это работает.

EDIT: Хорошо, я проверил это, и это работает:

Используйте currentArray[currentIndex].id чтобы получить идентификатор.

В качестве альтернативы, если все, что вам нужно, это идентификатор, чтобы вы могли использовать его для указания вашего изображения, вы могли бы просто использовать $ (this) .attr ('href') в нем.

+0

Нет, он просто возвращает «undefined». – Rhys

+0

Я вижу, что в вашей функции вы используете оба $ (this) .id и this.id. Вы пытались изменить оба из них на $ (this) .attr ('id')? Что вы подразумеваете, возврат не определен, это то, что сказано в поле или когда вы нажимаете ссылку? – user384918

+0

Это в коробке, вот ссылка на то, над чем я работаю: http://bit.ly/9gDA8v – Rhys

 Смежные вопросы

  • Нет связанных вопросов^_^