【问题标题】:jQuery UI close dynamic dialog...or just the open dialogjQuery UI 关闭动态对话框...或只是打开对话框
【发布时间】:2010-08-23 21:52:11
【问题描述】:

我试图在函数调用结束时关闭一个打开的对话框,并使用我当前的按钮元素来关闭对话框。这是打开对话框的代码。它是使用“.modal_btn”的“rel”属性动态调用的。它按预期打开:

    modalDialog = function(dialogId){
        $(dialogId).dialog({
            modal: true,
            draggable: false,
            resizable: false,
            width: 'auto',
            open: function() { $(".ui-dialog-titlebar-close").hide(); }
        });
    }

    $('.modal_btn').live('click', function(){
        var dialogId = $(this).attr('rel');
        modalDialog(dialogId);
    });

现在对话框打开后,我想将当前的 HTML 元素用于按钮:取消和保存按钮。保存按钮执行 ajax 调用,在 ajax 调用完成后,我想关闭对话框。另外,我希望能够通过单击取消按钮来关闭打开的对话框。我似乎无法掌握这个简单的功能......有什么想法吗?

【问题讨论】:

    标签: javascript jquery jquery-ui modal-dialog


    【解决方案1】:

    $(dialogId).dialog('close');?

    根据评论进行编辑:

    好吧,那这个怎么样。在您的 modalDialog 函数中,将一个类应用于对话框本身:$(dialogId).addClass('currently-open-dialog')

    那么你的关闭点击功能就可以做到$('.currently-open-dialog').removeClass('currently-open-dialog').dialog('close');

    【讨论】:

    • 是的,这是我的第一个想法,但是 dialogId 不是通过单击关闭对话框按钮来定义的...可以说类是 '.close_dialog_btn'...感谢您的快速响应!
    • 编辑了可能的解决方案。
    • 太棒了!喜欢创意斯图尔特。谢谢!
    • 希望它对你有用 :) 如果是这样,你可以给我我的第一个“正确答案”复选标记!
    【解决方案2】:

    在按钮上放置文本的几种方法:标准取消和文字。但是基本操作方法相同:

    'Yes, Save and Exit': function()
                {
                    callMyAjaxFuction();
                    $(this).dialog('close');
                                },
                Cancel: function()
                {
                    $(this).dialog('close');
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2010-09-26
      • 2010-12-14
      • 1970-01-01
      • 2012-12-04
      • 2011-07-12
      相关资源
      最近更新 更多