2010-08-09 8 views
0

Lorsqu'un utilisateur clique sur le bouton supprimer, je veux une boîte de dialogue apparaît, pour confirmer la suppression. Je peux obtenir la boîte de dialogue pour apparaître sur chargement de la page, mais je suis en cours d'exécution dans les problèmes se voir apparaître sur un bouton clic à la place:ZendX/Jquery ui - boîte de dialogue ouverte cliquez

<?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\'); 
     }') 
    ), 
), 

); ?> 

Y at-il quelque chose dans le dialogContainer qui permet cela, ou dois-je créer une fonction séparée, que je charge séparément?

Merci.

Répondre

1

Ce que je l'ai fait dans le passé (en utilisant jQuery UI droit, sans zend) est de mettre en place un événement onclick qui appelle une fonction pour ouvrir la boîte de dialogue:

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

Initialiser la boîte de dialogue dans le document prêt:

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

Et ajouter la fonction pour l'ouvrir:

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

Essayez avec elle

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