2011-01-13 7 views
0

Railsループ内でjQueryループをネストしようとしていますが、運がないわけではありません。Railsループを含む入れ子のjQueryループ

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

とjQuery:jYoutubeはちょうどユーチューブ動画からサムネイルをつかむための方法である

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

ここレールです。

問題は、サムネイルをそれぞれのエントリに挿入するのではなく、すべてのサムネイルをビデオ付きのすべてのエントリに挿入することです。

答えて

0

兄弟機能を使用すると、対応するdivを動画クラスでフィルタリングできます。

例:

$('.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>') 
);  
}); 
+0

を確認していない、これを試してみてください、リンクを複製します。だから2つのリンクのために、それは4を出力する... –

0

私はそれはもう、各エントリにthumbailsの全てを組み合わせることが、2つの以上のURLを持つエントリごとにされていない

$('.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

これは何もしていないようだ。 –

関連する問題