Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZF2-显示jQuery Ui对话框_Php_Jquery Ui_Zend Framework2 - Fatal编程技术网

Php ZF2-显示jQuery Ui对话框

Php ZF2-显示jQuery Ui对话框,php,jquery-ui,zend-framework2,Php,Jquery Ui,Zend Framework2,我想弹出一个jQueryUI对话框,但它不起作用。我打开了一个新页面,而不是对话框。下面是我的代码: 控制员的行动: public function diaAction() { $viewModel = new ViewModel(); $viewModel->setTerminal(true); return new ViewModel(); } index.phtml: <a class="some-link" title="tit

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

控制员的行动:

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

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

直径phtml(对话框代码)


$(文档).ready(函数(){
$('.some link')。每个(函数(){
var$link=$(此);
变量$dialog=$('')
.load($link.attr('href'))
.对话({
自动打开:错误,
标题:$link.attr('title'),
});
});
});

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

您必须处理“单击”,使其显示对话框,而不是跟随链接。大概是这样的:

$('.table a.button').on('click',function(e){
    e.preventDefault();
    $('<div></div>')
      .load($link.attr('href'))
      .dialog({
        autoOpen: false,
        title: $link.attr('title'),
    });
});
$('.table a.button')。在('click',函数(e)上{
e、 预防默认值();
$('')
.load($link.attr('href'))
.对话({
自动打开:错误,
标题:$link.attr('title'),
});
});

在我看来,javascript的位置并不合适。它由index.phtml调用,而不是由dia.phtml调用。如果浏览器不知道它的存在,它怎么能被执行呢?
我想我的回答对你来说太晚了,但我希望它能帮助其他人。

我试着这样做,但没有成功。它仍然会打开一个新页面。然后,JavaScript中的某个地方一定会有错误
e.preventDefault()
,是当您单击链接时发生的第一个事件,它完全按照它的说明执行,它阻止了默认操作的发生。如果没有,JS根本不会被执行,因此之前的某个地方肯定是JS错误,搜索它:)我有一个简单的zf2表单按钮(不是submit按钮!),带有一个类“createContact”,并成功地使用了@Sam:$('.createContact')。on('click',function(e){…load('....)提供的示例-但出于某种原因,我不得不删除autoOpen:false选项。否则,通过AJAX加载链接后,将不会打开任何对话框。@Webdevelopers打开您自己的问题:comments=killer中的P代码
$('.table a.button').on('click',function(e){
    e.preventDefault();
    $('<div></div>')
      .load($link.attr('href'))
      .dialog({
        autoOpen: false,
        title: $link.attr('title'),
    });
});