0

Zend Framework にプロジェクトがあり、ページにすべての製品がカテゴリ別に並べられたメニューがあります。製品の名前と説明を含むポップアップを作成したいと考えています。これは、商品をクリックするたびに表示される必要があります。ポップアップに次のコードを使用します。

<script type="text/javascript">
 function show_popup(id) {
if (document.getElementById){
    obj = document.getElementById(id);
    if (obj.style.display == "none") {
        obj.style.display = "";
    }
}
}
function hide_popup(id){
if (document.getElementById){
    obj = document.getElementById(id);
    if (obj.style.display == ""){
        obj.style.display = "none";
    }
 }
}
</script>

<div id="my_popup" style="display:none;border:1px dotted gray;padding:.3em;background-color:white;position:absolute;width:400px;height:400px;left:10px;top:300px">
                                                <div align="right">
                                                        <a href="javascript:hide_popup('my_popup')">Close</a>
                                                </div>
                                                        <h3>Product Name</h3>
                                                        <p>Product description</p>
                                        </div>

問題は、静的テキストで機能することです。私の製品は次のように DB から取得されます。

<?php foreach ($products as $product):?>
 <a href="javascript:show_popup('my_popup')"> <?php echo $product['front_name'];?></a>
<?php endforeach;?>

そのため、すべてのタイトルにポップアップへのリンクがありますが、そのポップアップでクリックされた製品の名前と説明を印刷したいのですが、クリックされた製品を確認する方法がわかりません。いくつかのパラメーターを送信することを考えていましたが、その方法がわかりません。私の問題に対する解決策があれば、教えてください!ありがとうございました

I've tried to put my **<div id="my_popup>**  in foreach, but it doesn't work because my pop-up windows does not appear anymore.
4

1 に答える 1

0

私はJqueryで同じ問題に遭遇しました。私の解決策は、一意になるように製品のIDを提供してJS関数を呼び出し、英数字と連結することでした(JSはDIVで数値のみを受け入れないため):たとえば(あなたのループ):

<?php $id_for_div="unique_id_".$product['id'];
      $id_product=$product['id'];?>

次に、その新しい ID を JS 関数に渡します showPopup('<?=$id_product?>')。DIV の ID は次のようにする必要があります。<div id='<?id_for_div ?>' ..>..</div>

次に、JS関数で新しいパラメーターを取得し、それに応じてスタッフを実行できます(Jqueryでは、showPopup(id){ $('#unique_id_'+id).....} それが役立つことを願っています.

于 2013-06-06T10:29:01.567 に答える