Fancybox传递值弹出框

时间:2014-02-12 12:12:08

标签: javascript php jquery fancybox

我有一个SQL查询,列出公司的报价,然后回显到一个表中,该表作为数组保存到$ quote中。

如果我能逃脱它,我真的不想使用iframe ..

foreach($quote as $i) {
<td>
<a href="#" id="send_email"><img style="font-align:center;" width="32px"    src="/media/img/icons/email.png" alt=""></a>                        
</td>
}

点击电子邮件链接后,会弹出一个FancyBox窗口,选择您要联系的公司的联系人。

<script type="text/javascript">
$(document).ready(function() {
    $('#send_email').click(function() {
        $.fancybox($('#contacts').html(), { });
        return false;
    });


});
</script>

<div id="contacts" style="display:none;">
<form action="/email.php" method="get" />
    <p>
        <label>Contact:</label>
        <select name="contact_id">
        <?php
        foreach($company->getContacts($item['id']) as $contact){
        ?>
            <option value="<?php echo $contact['id'] ?>"><?php echo $contact['firstname'] ." ". $contact['lastname']?></option>
        <?php
        }
        ?>
        </select>

    </p>
   <input type="submit" value="Go" />
</form>

我想知道如何将有问题的报价ID传递给原始循环中的fancybox($ i ['id']),然后传递给e-mail.php以了解公司联系人的引用是什么后。

我已经被困了几个小时了,非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

将锚标记中的引号id作为属性渲染:

foreach($quote as $i) {
<td>
<a href="#" id="send_email" data-quote-id="<?php echo $i['id'] ?>"><img style="font-align:center;" width="32px"    src="/media/img/icons/email.png" alt=""></a>                        
</td>
}

然后在javascript中获取引用ID,如下所示:

<script type="text/javascript">
$(document).ready(function() {
    $('#send_email').click(function() {
        var quoteId = $(this).attr("data-quote-id");
        // do something with quoteId..
        $.fancybox($('#contacts').html(), { });
        return false;
    });
});
</script>