jQuery UI对话框 - 第一次无法打开

时间:2011-05-24 14:02:40

标签: jquery jquery-ui caching dialog

我正在使用jQuery UI对话框作为确认框,当您单击链接时,对话框将打开问题和两个按钮。 但是我在对话框中遇到了一些负载问题。当我第一次访问该页面时,该对话框将无法打开。当我按F5并再次尝试时,它工作正常。

这是我的代码:

<script type="text/javascript">
$(document).ready(function() {
var url;

$( "#dialog" ).dialog( {
    autoOpen: false,
    resizable: false,
    modal: true,
    buttons: {
        "Yes": function() {
            $(this).dialog("close");
            window.location.href = url;
        },
        "No": function() {
            $(this).dialog("close");
        }
    }
});

$("a.supportClub").click(function(e) {
    e.preventDefault();
    url = e.target;
    $("#dialog").dialog("open");
});  
});
</script>


<div id="dialog" title="Support club" style="display: none">
    <p>The question</p>
</div>   

<a href="?supportClub=5" class="button right supportClub">Support</a>

希望有人可以帮助我。

谢谢!

2 个答案:

答案 0 :(得分:0)

$("a.supportClub").click(function(e) {
    e.preventDefault();
    url = e.target;
    $('#dialog').dialog('destroy');
    $("#dialog").dialog();
}); 

答案 1 :(得分:0)

试试这个:

<script type="text/javascript">
$(document).ready(function() {
function showDialog(url){
     $( "#dialog" ).dialog( {
        resizable: false,
        modal: true,
        buttons: {
            "Yes": function() {
                $(this).dialog("close");
                window.location.href = url;
            },
            "No": function() {
                $(this).dialog("destroy");
            }
        }
    });
  }

$("a.supportClub").click(function(e) {
    e.preventDefault();
    showDialog(e.target);
  });  
});
</script>