I have a problem with the jquery-ui dialog box
.
The problem is that when I close the dialog box and then I click on the link that triggers it, it does not pop-up again unless I refresh the page.
How can I call the dialog box back without refreshing the actual page.
Below is my code:
$(document).ready(function() {
$('#showTerms').click(function()
{
$('#terms').css('display','inline');
$('#terms').dialog({
resizable: false,
modal: true,
width: 400,
height: 450,
overlay: { backgroundColor: "#000", opacity: 0.5 },
buttons:{ "Close": function() { $(this).dialog("close"); } },
close: function(ev, ui) { $(this).remove(); },
});
});
Thanks
works!
You're actually supposed to use
$("#terms").dialog({ autoOpen: false });
to initialize it. Then you can use$('#terms').dialog('open');
to open the dialog, and$('#terms').dialog('close');
to close it.on the last line, don't use
$(this).remove()
use$(this).hide()
instead.EDIT: To clarify,on the close click event you're removing the
#terms
div from the DOM which is why its not coming back. You just need to hide it instead.I use the dialog as an dialog file browser and uploader then I rewrite the code like this
everything seems to work great.
Hi Guys I managed to solve it.
I used destroy instead close function (It doesn't make any sense) but it worked!
.close() is mor general and can be used in reference to more objects. .dialog('close') can only be used with dialogs