6

我尝试在 JQuery UI 中创建一个关闭“对话框”窗口的按钮。

要打开我正在使用此代码的对话框:

$(".show .edit_site").click(function (){
    rel = $(this).attr("rel");

    $("#dialog_edit").dialog({
            modal: true,
            open: function () {
                $(this).load("<?= site_url()?>/sites/show_update?id="+rel+"&mode=popup");
            },
            close: function() {
                //some code
            },
            height: 370,
            width: 900,
            title: 'Some title'
     });
}); 

对话框打开,一切正常。但现在的问题是如何通过单击对话框内的按钮来关闭对话框?

在此处输入图像描述 谢谢大家,对不起我糟糕的英语:)


我尝试了所有可能的解决方案,这是唯一适合我的解决方案:

function close_dialog()
{
    //Close jQuery UI dialog 

    $(".ui-dialog").hide();
    $(".ui-widget-overlay").hide();
}
4

3 回答 3

14

这很简单,只需将按钮添加为对话框选项的一部分:

$("#dialog_edit").dialog({
    modal: true,
    open: function () {
        $(this).load("<?= site_url()?>/sites/show_update?id="+rel+"&mode=popup");
    },
    height: 370,
    width: 900,
    title: 'Some title',
    buttons: {
        'button text' : function() {
            $(this).dialog('close');
        }
    }
});
于 2012-07-23T17:07:51.510 回答
10

您可以使用“关闭”方法:

$("#dialog_edit").on('click', '#closeButtonId', function(){
     $(this).closest("#dialog_edit").dialog('close');
});
于 2012-07-23T17:09:37.607 回答
-1

我尝试了下面的代码并且它有效

 $('#btnClose').click(function () {
     window.parent.jQuery('#msgbox').dialog('close');
 });
于 2014-05-05T17:29:51.230 回答