2009-09-11 2 views
2

Ce code provient de la démo de confirmation modale sur le site jQuery.Comment puis-je créer une boîte de dialogue à partir de jQuery uniquement après avoir appuyé sur un bouton?

<script type="text/javascript"> 
$(function() { 
    $("#dialog").dialog({ 
     bgiframe: true, 
     resizable: false, 
     height:140, 
     modal: true, 
     overlay: { 
      backgroundColor: '#000', 
      opacity: 0.5 
     }, 
     buttons: { 
      'Yes': function() { 
       $(this).dialog('close'); 
      }, 
      'No': function() { 
       $(this).dialog('close'); 
      } 
     } 
    }); 
}); 
</script> 



<div class="demo"> 

<div id="dialog" title="Empty the recycle bin?"> 
    <p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>These items will be permanently deleted and cannot be recovered. Are you sure?</p> 
</div> 

<!-- Sample page content to illustrate the layering of the dialog --> 
<div class="hiddenInViewSource" style="padding:20px;"> 
    <p>Sed vel diam id libero <a href="http://example.com">rutrum convallis</a>. Donec aliquet leo vel magna. Phasellus rhoncus faucibus ante. Etiam bibendum, enim faucibus aliquet rhoncus, arcu felis ultricies neque, sit amet auctor elit eros a lectus.</p> 
    <form> 
     <input value="text input" /><br /> 
     <input type="checkbox" />checkbox<br /> 
     <input type="radio" />radio<br /> 
     <select> 
      <option>select</option> 
     </select><br /><br /> 
     <textarea>textarea</textarea><br /> 
    </form> 
</div><!-- End sample page content --> 

</div><!-- End demo --> 

<div class="demo-description"> 

<p>Confirm an action that may be destructive or important. Set the <code>modal</code> option to true, and specify primary and secondary user actions with the <code>buttons</code> option.</p> 

</div><!-- End demo-description --> 

Quelqu'un peut-il me dire comment faire ce spectacle seulement après avoir appuyé sur un bouton? En ce moment, il apparaît automatiquement dans la page juste après le chargement.

Répondre

0

A droite ou à la gauche, voici un exemple de style d'alerte générique d ialog que j'utilise:

Mettre en place la boîte de dialogue (dans le document prêt):

$("#generic-dialog").dialog({ 
    autoOpen: false, 
    buttons: { 
     Ok: function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

et ouvrez la boîte de dialogue (après un événement):

$("#generic-dialog") 
    .text("Status updated successfully.") 
    .dialog("option", "title", "Your Status").dialog("open"); 
2

Ajoutez le bouton à la page et ajoutez le code à l'événement de clic du bouton.

<script type="text/javascript"> 
$(function() { 
    $("#button").click(function(){ 
    $("#dialog").dialog({ 
      bgiframe: true, 
      resizable: false, 
      height:140, 
      modal: true, 
      overlay: { 
        backgroundColor: '#000', 
        opacity: 0.5 
      }, 
      buttons: { 
        'Yes': function() { 
          $(this).dialog('close'); 
        }, 
        'No': function() { 
          $(this).dialog('close'); 
        } 
      } 
     }); 
    }); 
    }); 
</script> 

et en HTML

<input type='button' value="click" id="button"/> 
+0

J'étais quelques secondes * * trop lent ... +1, et ma réponse a été supprimée. –

1
$("#btnTest").click(function() { 
     $('#dialog').dialog('open'); 
     return false; 
    }) 

Cela devrait ouvrir la boîte de dialogue vous avez défini - attache la boîte de dialogue fonction ouverte à cliquer sur l'événement de bouton

Oh - et mis autoOpen: false sur la propriétés de configuration de la boîte aux lettres :)