如何避免在jquery中创建重复的对话框

时间:2012-08-16 19:29:31

标签: javascript jquery

在我的页脚页面

   Link 1 , Link 2  , Link 3 

点击这些链接中的任何一个都会打开一个包含数据内容和页脚文件的对话框。 所以,Dialog看起来像:

       Data 
       Link 1 , Link 2 , Link 3

当我点击Dialog中的一个链接时,它会打开另一个对话框,所以这个逻辑会进入无限循环。

有没有办法避免重复此对话框?

打开功能:

$(function() {

    $('#dialog').dialog('close');   
    // Trying it here but not sure if this is the right place  to do 
   // I want to close all dialog boxes before opening one 

    $( "#dialog" ).dialog({
        modal:true,
        height:600,
        width:600,
        my: "center",
        at: "center",
        of:window,
        resizable:false,
        closeOnEscape:false,
        open:function (event, ui) {
                 $('#dialog').load('/contact.jsp');
        }
    });

    $( "#dialog" ).dialog("option", "title", url);
});

还在考虑我是否将.close放在正确的位置开始?

3 个答案:

答案 0 :(得分:1)

假设你有一个动态创建这个东西的函数,那么就是循环。 如果是这样,避免重复的解决方案是给对话框一个独有的类名,在创建之前,使用jquery调用删除具有该类名的任何元素。

以下是.remove()

的更多信息

答案 1 :(得分:0)

加载对话框时不要包含页脚文件。

答案 2 :(得分:0)

将GET参数添加到通过mypage.php?dialog=true

等链接调用的页面

并在页脚中,在显示链接之前检查此参数是否存在:

<?php if(!isset($_REQUEST['dialog'])) : ?>
HTML code to display your link <a href="mypage.php?dialog=true">link</a>
<?php endif; ?>