2010-12-01 7 views
4

Ich habe zwei Dialogfelder. Der Benutzer wählt in der ersten einen Wert aus, der sich im DOM der Seite widerspiegelt. Das erste Dialogfeld wird geschlossen und ein weiteres wird angezeigt. Wenn der Benutzer auf die Schaltfläche mit dem Kreuz in der oberen rechten Ecke klickt, um den Dialog zu schließen, möchte ich die im vorherigen Dialogfeld vorgenommenen Änderungen rückgängig machen. Auf der OK-Schaltfläche muss ich einige Dinge tun, indem ich Werte festlege. Auf dieser Schaltfläche schließe ich den Dialog. Bei nahem Ereignis habe ich bis jetzt Code, um das Formular zurückzusetzen. Aber wenn der Benutzer das Dialogfeld abbricht, wie würde ich wissen, wie das Schließen-Ereignis ausgelöst wurde, d. H. Von der OK-Taste oder der Kreuztaste?Wie überprüft man, ob der Benutzer den Dialog geschlossen hat, indem man im jquery UI-Dialog auf das Kreuzsymbol klickt

Antwort

7

Sie finden, dass "X" -Schaltfläche von seiner Klasse, .ui-dialog-titlebar-close, dann einen click Handler es an, wenn Sie den Dialog zu schaffen, wie folgt aus:

$("#test").dialog({ 
    //dialog options... 
}).parent().find(".ui-dialog-titlebar-close").click(function() { 
    alert("Closed by title bar X, clear the other form here"); 
}); 

You can test it here.

+2

Der Dialog mit geschlossen 'escape' Taste auch. – rahul

+0

Hey großartig! Vielen Dank !! – KutePHP

1

mit Model-ID

$('#myModalId').on('show.bs.modal', function (e) { 
    // Do your operation 
}) 

Mit Modus Klasse

$('.myModalClass').on('show.bs.modal', function (e) { 
    // Do your operation 
}) 

Modell

<div class="modal fade myModalClass" id="myModalId" role="dialog"> 
    // your code 
</div> 

lesen Sie hier mehr http://getbootstrap.com/javascript/#modals

0

ich die Lösung here nützlich durch @Vickel finden kann

close: function(event, ui) { 
//some_code(); 
if(event.originalEvent){ 
    // triggered by clicking on dialog box X or pressing ESC 
    // not triggered if a dialog button was clicked 
    some_code(); 
}   
$(this).dialog('destroy') 
} 
Verwandte Themen