0

我想弹出一个 jQuery Ui 对话框,但它不起作用。我打开了一个新页面,而不是对话框。我的代码是下一个:

控制器动作:

public function diaAction()
{   
    $viewModel = new ViewModel();
    $viewModel->setTerminal(true);        
    return new ViewModel();
}

索引.phtml:

<a class="some-link" title="title here" href="<?= $this->url('dialog', array('action' => 'dia'))?>">open form</a>

dia.phtml(对话代码)

<script type="text/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'),
            });
    });
});
</script>

我只是不明白,为什么这不像它应该的那么简单。有什么帮助吗?

4

2 回答 2

1

您必须处理“点击”,以便它显示对话框而不是跟随链接。像这样的东西:

$('.table a.button').on('click',function(e){
    e.preventDefault();
    $('<div></div>')
      .load($link.attr('href'))
      .dialog({
        autoOpen: false,
        title: $link.attr('title'),
    });
});
于 2013-05-19T23:15:04.140 回答
0

在我看来,javascript 只是不在正确的位置。它由 index.phtml 调用,而不是 dia.phtml。浏览器不知道它的存在如何执行?我认为我的回答对您来说为时已晚,但我希望它对其他人有所帮助。

于 2013-10-23T13:46:53.570 回答