ZendX / Jquery ui - 单击打开对话框

时间:2010-08-09 13:47:15

标签: zend-framework jquery-ui dialog zendx

当用户点击按钮删除时,我想要一个对话框出现,以确认删除。我可以在页面加载时显示对话框,但是遇到问题让它出现在按钮点击上:

<?php echo $this->dialogContainer(
'dialog',
'Are you sure you want to delete this postcode?',
array(
    'autoOpen'      => false,
    'draggable'     => true,
    'modal'         => true,
    'resizable'     => true,
    'title'         => 'Confirm Delete',
    'closeOnEscape' => true,
    'buttons'   => array(
        'Delete' =>  new Zend_Json_Expr('function() {
            document.location=\''.$this->url(array(
                'module'     => 'crm',
                'controller' => 'postcode',
                'action'     => 'delete' 
            ),"", true) .'\' 
        }'),
        'Cancel' => new Zend_Json_Expr('function() {
            $(this).dialog(\'close\');
        }')
    ),
),

); ?>

dialogContainer中是否有允许这样的内容,或者我是否需要创建一个单独的函数,我会单独加载?

感谢。

2 个答案:

答案 0 :(得分:1)

我过去所做的(使用直接jQuery UI,没有zend)是设置一个onclick事件,调用一个函数来打开对话框:

<a onclick='showDialog();'>clickable item</a>

在准备好的文档中初始化对话框:

var $demoDialog;
$(document).ready(function() {
  $demoDialog= $("#demoDialog").dialog({
    autoOpen: false,
    draggable: true,
    resizable: true
    title: 'Demo Dialog'
  });
});

并添加打开它的功能:

function showDialog() {
  if (!$demoDialog.dialog('isOpen')) {
    $demoDialog.dialog('open');
  }
}

答案 1 :(得分:1)

尝试使用它

       $this->jQuery()->addOnLoad("
          $('a').click(function(){                    
             $('#dialog').dialog('open');
          });
       ");