2010-08-09 2 views
0

Когда пользователь нажимает кнопку , удалите, я хочу, чтобы появилось диалоговое окно, чтобы подтвердить удаление. Я могу получить диалоговое окно появится на странице загрузки, но я бегу в проблемы заставить его появиться на нажатие кнопки вместо:ZendX/Jquery ui - открыть диалоговое окно при нажатии

<?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, что позволяет это, или мне нужно сделать, чтобы создать отдельную функцию, которую я загружаю отдельно?

Спасибо.

ответ

1

Что я сделал в прошлом (с использованием прямого JQuery UI, без Зенда), чтобы создать событие 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

Попробуйте с ним

 $this->jQuery()->addOnLoad(" 
      $('a').click(function(){      
      $('#dialog').dialog('open'); 
      }); 
     "); 
Смежные вопросы