Вложенный цикл jQuery с циклом Rails - PullRequest
0 голосов
/ 13 января 2011

Я пытаюсь вложить цикл jQuery в цикл Rails, но мне не везет. Вот рельсы:

<% entry.videos.each do |video| %>
    <input type="hidden" class="url" value="<%= video.url %>">
    <div class="videos" src=""></div>
<% end %>

и jQuery:

$('.url').each(function () {
    var urlThumb = $.jYoutube($(this).val(), 'small');
    var url = $(this).val();
    $('.videos').append($('<div class="vidya"><a href="'+url+'" rel="prettyPhoto" class="youtubeLink"><img src="'+urlThumb+'" class="overlay"/></a></div>'));
            });

где jYoutube - это просто метод получения миниатюры из видео на YouTube.

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

Ответы [ 2 ]

0 голосов
/ 13 января 2011

Попробуйте, я не уверен

$('.url').each(function (index) {
    var urlThumb = $.jYoutube($(this).val(), 'small');
    var url = $(this).val();
    $('.videos').append($('<div class="vidya"><a href="'+url+'" rel="prettyPhoto" class="youtubeLink"><img src="'+urlThumb+'" class="overlay"/></a></div>'));
});
0 голосов
/ 13 января 2011

Вы можете использовать функцию братьев и сестер, чтобы фильтровать соответствующий div с классом videos

Например:

$('.url').each(function(){
 var urlThumb = $.jYoutube($(this).val(), 'small');     
 var url = $(this).val();     
 $(this).siblings('.videos').append
 (
  $('<div class="vidya"><a href="'+url+'" rel="prettyPhoto" class="youtubeLink"><img src="'+urlThumb+'" class="overlay"/></a></div>')
 );    
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...