1

我使用了fancybox v2.1.5。
我有一个 layout_popup 用于加载这些花式框的内容。两个fancybox的内容是CodeIgniter中的两个视图文件。
第 1 步:从页面我有一个按钮来弹出第一个花式框(输入 iframe)。
第2步:从第一个fancybox,我有一个链接可以弹出第二个fancybox(输入iframe)。
我完成了第 1 步。
请告诉我如何执行第 2 步!代码layout_popup:

<a id="addmore" class="hand-pointer" onclick="add_more();">Add more product...</a>
<script type="text/javascript">
    function CreateFancyBox(selector, url, width, height) {
        $(selector).fancybox({
            'href': url,
            'titleShow'         : false,
            'titlePosition'     : 'none',
            'openEffect'        : 'none',
            'closeEffect'       : 'none',
            'openSpeed'         : 'fast',
            'type'              : 'iframe',
            'padding'           : 0,
            'preload'           : true,
            'width'             : width,
            'height'            : height,
            'fitToView'         : false,
            'autoSize'          : false,
        }); 
}
    function add_more() {
        var url = base_url + 'ctl_product/add_more_product';
        CreateFancyBox('a#addmore', url, '50%', 205);
    }</script>  

从这里,我点击“添加更多产品...”,弹出第一个fancybox显示,第一个fancybox的内容(来自视图文件):

<div style="background-color: white;">
    <form id="frmAddMoreProd" method="post" action="">
        <table id="tblAddMoreProd" cellpadding="0" cellspacing="10" width="100%" border="0">
            <tr><th><h3 style="margin-top: 0px;">Add new product</h3></th></tr>
            <tr>
                <td>Fill Product Name</td>
                <td><input class="input-short" style="width: 250px;" type="text" id="prodname" /></td>
            </tr>
            <tr>
                <td></td>
                <td class="t-right">
                    <a href="#" class="cancel">Cancel</a>
                    <a id="add_next" class="b-next hand-pointer">Next</a>
                </td>
            </tr>
        </table>
    </form>
</div>

我想要当我点击第一个fancybox中的链接“Next”,然后弹出第二个fancybox。代码包含另一个视图文件中第二个fancybox的内容,它的代码仍然在与第一个fancybox相同的div中。

我该怎么做?
我尝试将与 layout_popup 中的脚本相同的 js 脚本插入到第一个 fancybox 中,但我没有得到任何结果。

4

1 回答 1

0

您要在 iframe 中打开的视图实际上是控制器内部的一个方法。通过构建方法,您迈出了第一步。对于第二个(iframe)步骤,您只需构建另一个方法并从第一个方法调用第二个方法。我希望我以一种可以理解的方式说:D
这是一个例子:

<?php if (!defined('BASEPATH')) die ('No direct script access allowed!');

class Custom extends CI_Controller
{
    function first_method() {
        // my code
        // ...
        // echo the first view file
    }

    function second_method() {
        // my code
        // ...
        // echo the second view file
    }
}
于 2013-07-03T06:12:17.137 回答