I tried it but now the dialog doesn't open at all !! When I am closing the dialog, I am calling .dialog('destroy') so that it's instance is cleared from memory. But, I guess the destroy is not happening correctly. I am sure it's something to do about having the old instance in memory and I just have to figure out a way on where to place the creation/open/destroy calls in the code. Interestingly, I have other dialogs that follow the same pattern as above and are working just fine. The only difference is that their content is static. So, may be the problem is there but I don't see it because the dialog content never changes.
On Oct 31, 1:44 am, Mean Mike <mcgra...@gmail.com> wrote: > I'm thinking that you need to move this > > $("#mydialog").dialog({modal:true, autoOpen:false, title:Title, > width:800, height:380}); > > out of the open OpenDialog function and have that in your document > ready function > > see whats happening is that it creating a new instance of .dialog > every timeyou call OpenDialog() > > I'm not sure if used the right terms there but that's essentially > whats happening > > Mean Mike > > On Oct 30, 9:54 pm, Rushi <rushike...@gmail.com> wrote: > > > > > Hi, > > > I have a strange problem with JQuery modal dialog. I am using the > > following code to open my dialog. > > > function OpenDialog() > > { > > UpdateDIVForThisDialog(); > > $("#mydialog").dialog({modal:true, autoOpen:false, title:Title, > > width:800, height:380}); > > $("#mydialog").dialog("open"); > > > } > > > function UpdateDIVForThisDialog() > > { > > var URL = "MyURL"; > > var Parameters = "MyParameters"; > > > $.ajax({ > > url: URL, > > async: false, > > data: Parameters, > > cache:false, > > type: "GET", > > dataType: "html", > > success: function(UserData) > > { > > document.getElementById("mydialog").innerHTML = UserData; > > } > > }); > > > } > > > It's a straightforward piece of code that gets some data via an AJAX > > call and updates the innerHTML of the div tag that is then used by the > > OpenDialog function. The strange thing happening is that the div's > > innerHTML seems to be cached when the dialog is opened. This leads to > > the dialog showing the HTML of the earlier AJAX call. Please note that > > the AJAX call does return me the new HTML because I displayed it using > > an alert and I did see the new HTML. I also did an alert on > > document.getElementById("mydialog").innerHTML and I see that the "new" > > HTML content is set to the div tag. But, somehow, when the dialog is > > opened, it shows me the old HTML. If it helps, the HTML is retrieved > > from a MVC View and I tried setting the cache-control and all such > > properties so there is no caching. But, I don't think thats the > > problem because I do get the new HTML back from the server. It's the > > dialog that somehow remembers the old div tag contents. If I refresh > > the browser, I do see the correct contents in the dialog. The issue > > happens in IE, Firefor and Chrome. So, I don't think it's browser > > specific. I tried destroying the dialog before opening but it doesn't > > work either. I am unable to find out the reason for this strange > > behavior. Any help would be greatly appreciated.- Hide quoted text - > > - Show quoted text - -- You received this message because you are subscribed to the Google Groups "jQuery UI" group. To post to this group, send email to jquery...@googlegroups.com. To unsubscribe from this group, send email to jquery-ui+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/jquery-ui?hl=en.