Martin,

Try using the persist:true option:
$("#content").modal({persist:true});

Let me know if that does not fix your issue.

-Eric


On Jan 13, 11:10 am, "mh.karls...@gmail.com" <mh.karls...@gmail.com>
wrote:
> I'm using AJAX to load content into a DIV and display it as a simple
> modal (using the SimpleModal plugin). In order to limit the requests
> to the server I would like to only load the content once, but that's
> when I run into trouble. Let me show you the code and then I will
> explain what happens.
>
> HTML:
> <div id="sidebar">
>    <a id="settings" href="#" class="settings">Settings</a>
>    <a id="options" href="#" class="test">Test</a>
> </div>
> <div id="content">Default Text</div>
>
> JAVASCRIPT:
> var isLoaded = false;
>
> $(document).ready(function () {
>         // click event handler for 'settings'
>         $('#sidebar a.settings').click(function (e) {
>                 if (!isLoaded) {
>                         $("#content").load("settings.htm");
>                         isLoaded = true;
>                 }
>                 $("#content").modal();
>         }
>         // click event handler for 'test'
>         $('#sidebar a.test').click(function (e) {
>                 $("#content").modal();
>         }
>
> }
>
> function hideModal(){
>         $.modal.close();
>
> }
>
> The first time I click on the link 'Settings' the content from
> 'settings.htm' is correctly displayed as a simple modal. But each time
> I click on the link after that it will display the DIV's initial text
> ("Default Text"). However, if I remove the following line;
>
> $("#content").modal();
>
> from the event handler for the link 'settings' and then use the 'test'
> link instead it displays correctly each time. I can't find the reason
> why this wouldn't work in the event handler for 'settings'? By viewing
> the rendered HTML I can confirm that content of the 'settings.htm' is
> correctly injected to the content div after the initial click. But I
> can't figure out what happens after that and how the default text make
> it back in there. I'm pretty new to jQuery so if anyone can shed some
> light on this issue I would really appreciate it.
>
> Thanks, Martin

Reply via email to