0

Play フレームワーク 2.0 を使用しています。User オブジェクトのリスト (リスト) を反復することにより、scala テンプレートに表示されるアイテムのリストがあります。各ユーザー オブジェクトは、次のように div で表示されます。

<div class="columns"><code>
@for(list of Users) {
   <div class="column"> 
    <a class="popup-link" href="#drabbles-box">@user.TITLE</a></div>
 }
</div>

そのタイトルをクリックすると、ポップアップが次のように開きます

<div class="popup-box-hover" style="display: none">
<div class="popup">
     @user.getImage() //HELP NEEDED HERE
</div>

以下は jQuery コードです。
$(".popup-link").fancybox({ zoomSpeedIn : 0, zoomSpeedOut : 0, frameWidth : 670, imageScale : false, hideOnContentClick : false, overlayOpacity : 0.6 });

        $(".popup-link").click(

                function() {

                    //alert(' ' + $("#currentDrabble").val())

                    if ($(this).parents().is('.box')) {
                        cur_title = $(this).parents('.box').find(
                                '.title-for-form').text();
                    }

                    return true;
                });

        $("#header .popup-link").click(function() {
            $('#chal').val($('#chal').attr('title'));
        })

        $(".part-chal").click(function() {
            $('#chal').val(cur_title);
            return true;
        });

ユーザー オブジェクトをその jQuery ポップアップに渡す必要があります。リンクがクリックされたときにその画像を表示するために PARTICULAR オブジェクトを渡す方法がわかりません。私は jQuery をまったく知らないので、ポップアップが呼び出される場所を見つけることができませんでした。

助けてください。

4

1 に答える 1

0

問題は、JS 側にいる場合、ユーザー リストにアクセスできないことです...

したがって、クリックされたアイテムに関連するさまざまなコンテンツをポップアップに含める必要がある場合。あなたができることは(私が言う迅速で汚い方法です):1 /ポップアップを(クリックして)トリガーしているアイテムの場合、表示されるコンテンツを保持する特定の属性を追加する必要があります(私は推測していますは@user.getImage画像への URL を返します) => 属性を見てください( $.datadata-contentを使用します)

<a class="popup-link" data-content="@user.getImage()" href="#drabbles-box">@user.TITLE</a></div>

2/ ポップアップをトリガーすると、コンテンツを簡単に変更できるようになりました。

$(".popup-link").click(function() {
   if ($(this).parents().is('.box')) {
       cur_title = $(this).parents('.box').find('.title-for-form').text();
   }
   //create the img tag
   var image = $("<img></img>")
   //give it the url to the image for the current user
   image.attr("src", $(this).data("content")) //$(this) wraps the element being clicked
   //set the content of ".popup" to be this img tag
   $(".popup").html(image)
   return true;
});

試していないので、問題があればコメントしてください。この回答を修正して更新することで、引き続き支援します。

HTH

于 2012-06-08T08:07:46.407 に答える