Zend Framework 2& jquery模态对话框

时间:2013-04-24 13:00:06

标签: jquery-ui zend-framework2

如何在jquery模式对话框中显示控制器动作?

2 个答案:

答案 0 :(得分:5)

首先,你需要你的Javascript通过ajax加载网址,这将取决于你使用的是哪种模式等,那里有大量的图书馆。我假设您正在使用基本的JQuery UI对话框模式。

示例链接

<!-- this points to your action below.. -->
<a class="some-link" title="title here" href="mycontroller/test">testing</a>

示例Javascript(在谷歌上发现的快速示例,其中有许多示例..)

$(document).ready(function() {
    $('.some-link').each(function() {
        var $link = $(this);
        var $dialog = $('<div></div>')
            .load($link.attr('href'))
            .dialog({
                autoOpen: false,
                title: $link.attr('title'),
            });
    });
});

现在,您需要确保在通过ajax请求提供模式内容时,您的操作不会呈现主要布局。

这是一个非常简单的方法,通过用ajax请求的空视图替换基本布局。这不是最好的方法,但对于这种情况来说这是最简单的方法;)

示例行动

public function testAction()
{
    if($this->getRequest()->isXmlHttpRequest()) {
        $this->layout('application/layout/ajax-layout');
    }

    return new ViewModel(array()); // ..
}

应用/布局/ AJAX-layout.phtml

<?php echo $this->content ?>

答案 1 :(得分:1)

我想你想要这种代码http://jqueryui.com/dialog/#modal-message 在里面显示你的行动

否则它会打开你的模态的网址,就像http://blog.nemikor.com/2009/04/18/loading-a-page-into-a-dialog/

一样