我想弹出一个jQuery Ui对话框,但它不起作用。我没有打开对话框,而是打开了一个新页面。我的代码是未来:ZF2 - 显示jQuery Ui对话框
控制器的动作:
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>
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>
我只是不明白它,为什么这不是它应该的那么简单。任何帮助?
我试过这样,但它不起作用。它仍然会打开一个新页面。 – Orochi
然后在JavaScript的某处出现错误。 'e.preventDefault()'是单击链接时发生的第一个事件,它确切地说明了它的作用,它阻止了默认操作的发生。如果没有,JS根本没有得到执行,所以之前的某个地方必须是JS错误,搜索它:) – Sam
我有一个简单的zf2表单按钮(不提交按钮!),并带有一个类“createContact”并成功使用@Sam提供的示例:$('。createContact')。on('click',function(e){... .load('<?php echo $ this-> url('contact', array('action'=>'add'));?>')...} - 但由于某种原因我不得不删除autoOpen:false选项,否则在通过AJAX加载链接后没有对话框会打开。 – webDEVILopers