【问题标题】:JQuery UI Multiple Dialog IssueJQuery UI 多对话框问题
【发布时间】:2018-01-02 02:24:51
【问题描述】:

我有动态创建对话框的功能。有时我需要模态或确认对话框

所以我创建了函数

function createDialogWithOutClose()
{
    jQuery('#divPopup').dialog('destroy');

    var dialog = jQuery('#divPopup').dialog({
        autoOpen: false,
        height: 450,
        width: 650,
        modal: true,
        open: function(event, ui){
            jQuery('body').css('overflow','hidden');
        }

    });

    jQuery('#divPopup').dialog('open');
}

function createConfirmDialog(url,params)
{
    jQuery('#divPopup').dialog('destroy');

    var dialog = jQuery('#divPopup').dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        show: "blind",
        hide: "explode",
        open: function(event, ui){
            jQuery('body').css('overflow','hidden');
        },
        buttons: {
            Ok: function() {
                jQuery( this ).dialog( "close" );
                jQuery.ajax({
                    type: "POST",
                    url: url,
                    data: params
                });
            },
            Cancel: function() {
                jQuery( this ).dialog( "close" );
            }
        }

    });

    jQuery('#divPopup').dialog('open');

}

这里的问题是当我调用这个函数时,它会打开之前打开的对话框。

我猜以前的实例没有被删除。它不会动态创建对话框

有什么办法吗??

【问题讨论】:

标签: javascript jquery jquery-ui


【解决方案1】:

【讨论】:

  • @AliMan:如果这回答了您的问题,您应该将其标记为已接受(当然还有点赞)。
  • 我还有一个问题,当我创建新对话框时,它没有得到 div id,因为我们在关闭时删除了 div,因此它不能正常工作 jQuery('#divPopup')。对话框('销毁');
  • if ($("#divPopup")) $("#divPopup").dialog("destroy");
【解决方案2】:

只需使用一个标志来检查对话框状态(关闭/打开)

var Open = false;
$('button').click(function () {
    if (!Open) {
        Open = true;
        $(newDiv).dialog({
            close: function (event, ui) {
                Open = false;
            }
        });

    } else {
        alert("Close opened dialog first");
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2011-10-05
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多