单击简单模态中的链接以打开新的简单模态

时间:2011-02-02 03:18:08

标签: jquery simplemodal

所以我希望我的用户能够在一个简单的模态jquery框中单击一个链接,让它关闭当前的模态框并打开一个带有新内容的新模块。

到目前为止,这还没有奏效:

$('#search_dialog_link').click(function () {
        $("#search_dialog").modal(
            {
                position: [150,125],
                minWidth: 400
            }
    );
});    

$('#create_course_link').click(function() {
   $.modal.close();
   $('#add_course_dialog').modal(
       {
        position: [150,125],
        minWidth: 400
       }
    );
});

以这种方式建立#search_dialog_link,#create_course_link,#search_dialog和#add_course_dialog:

<div id="default-content">
This is the page where all of your classes and a list of upcoming assignments will be displayed.
Since you do not have any classes, why not try to add one by clicking the link below.<br><br>
<center><div id="search_dialog_link">+Add a Course</div></center>
</div>
</div>
<div id="search_dialog">
<p>Search for the teacher of your class:</p>
<form id="searchform"><input type="text" width="200px" size="30" value="" id="inputString" />
<div style="font-size: 10; position:relative; bottom:20px; left: 200px;">Dont see it?<div id="create_course_link">Create</div> a new class.</div>
</form>
</div>
<div id="add_course_dialog">
<p>Test</p>
</div>

请注意,#search_dialog框会正确打开,当用户点击div #create_course_link时,原始模式框会关闭。但是新的模态框不显示。我做错了什么?

3 个答案:

答案 0 :(得分:4)

v1.4.1存在“错误”,可能导致问题。要修复Opera问题,close函数中会有一个setTimeout调用。

要解决此问题,您可以按如下方式更新代码:

$('#create_course_link').click(function() {
   $.modal.close();

   setTimeout(function () {
      $('#add_course_dialog').modal(
      {
       position: [150,125],
       minWidth: 400
      }
      );
   }, 20);
});

答案 1 :(得分:0)

埃里克的答案应该有效,因为他自己开发了这个东西。然而,这将使简单的模态消失,并打开一个新模式。这可能不太可取。

我在早期使用simpleModal时遇到了这种情况,因为我是一个疯狂的架构师(我不认为自己是程序员,但能够将2&amp; 2放在一起)。

要解决此问题,请创建全局变量和全局数组。使用全局变量作为指向屏幕的指针,使用全局数组作为“叠加”的内容。这样你就可以在不需要关闭模态的情况下导航回第四个。

这是我早期在Clipper早期实现的屏幕显示(请记住它?)。我在Pascal编程中使用它(是的,我是Pascal程序员......但放弃了它)。

看看这里:http://clubetititi.com。这是葡萄牙语,但你应该没有麻烦的导航。

祝你好运!

答案 2 :(得分:0)

这似乎已在simplemodal 1.4.2中得到修复,我建议升级。