2

誰かがドロップダウンから名前を選択したときに、カラーボックスを使用してオーバーレイするプロファイル情報を持つ個々のdivを取得しようとしています。したがって、ドロップダウンで値が#p01の「名前1」をクリックすると、IDが#p01のdivがカラーボックスを使用して表示されます。

しかし、これを機能させることができないようです。誰かが私のコードで問題を引き起こしている可能性のあるものを見ることができますか?

どうもありがとう、

大須


HTML

形:

<form action="" method="post" id="chooseprofile">
    <select name="profiledd" id="profiledd">
        <option value="" selected="yes">- Please select -</option>
        <option value="#p01">Name 1</option>
        <option value="#p10">Name 2</option>
        ...
    </select>
</form>

Divオーバーレイ:

<div style="display:none;">
    <div id="p01" class="profile">
        <img src="#" />
        <div class="profdesc">
            ...content...
        </div> <!-- End div.profdesc -->
        <div class="clear">&nbsp;</div>
    </div>
</div> <!-- End div#p01 -->

<div style="display:none;">
    <div id="p10" class="profile">
        <img src="#" />
        <div class="profdesc">
            ...content...
        </div> <!-- End div.profdesc -->
        <div class="clear">&nbsp;</div>
    </div>
</div> <!-- End div#p10 -->
...etc.

JQUERY

$("#profiledd").change(function() { 
    var currentProfile = $(this).val(); // Grab select value and show correct overlay:
    $(currentProfile).colorbox({
        inline:true,
        current: '',
        innerWidth:"700px",
        innerHeight:"400px",
        transition:"fade"
    });
});
4

3 に答える 3

0

問題を発見!これは必要なコードです - その部分に注意してください- 詳細は、 http://jacklmoore.com/colorbox/$.colorbox({の Colorbox プロジェクト ページの Public Methods で読むことができます。

MMR と Sudhir の貢献に感謝します:

$("#profiledd").change(function() { 
        var currentProfile = $(this).val(); // Grab select value and show overlay : 
        $.colorbox({
            inline:true,
            href:currentProfile,
            current: '',
            innerWidth:"700px",
            innerHeight:"400px",
            transition:"fade"
        });
    });
于 2011-12-20T09:38:04.620 に答える
0

Jqueryがポップアップしている場合は、Jqueryの競合がないことを確認してください...

これをテストするには、alert($('body').html()); のような単純な jquery テストを実行します。

そして、それが機能するかどうかを確認してください。

そして多分試してみてください inline:'true' (引用符付き)

于 2011-12-19T12:45:35.360 に答える
0

試す:

$("#profiledd").change(関数() {
    var currentProfile = $(this).val(); // 選択した値を取得し、正しいオーバーレイを表示:
     $(this).colorbox({
        インライン:真、
        現在: ''、
        innerWidth:"700px",
        innerHeight:"400px",
        トランジション:「フェード」
    });
});

于 2011-12-19T12:45:37.867 に答える