如何从父关闭按钮单击事件打开的子对话框关闭父对话框?

时间:2015-03-06 13:24:52

标签: jquery html5 twitter-bootstrap jquery-dialog

我试图从另一个对话框(子)关闭一个对话框(父),该对话框在父对话框关闭按钮“X”上打开。

通过单击父对话框关闭按钮“X”事件,我可以显示一个确认框(带YES,NO按钮)作为子对话框。

当用户点击子对话框的“是”按钮时,我很难关闭父对话框。

这是我的代码:

ParentDialog = function () {
  $("#fullscreen").dialog({
    title: "Simple Step Wizard",
    position: ["left", "top"],
    width: "100%",
    height: $(window).height(),
    zIndex: 1000,
    modal: true,
    open: function (event, ui) {$("#left-panel").hide();},
    close: function (event, ui) {                    
      ChildDialog();
    }
  });
}

子对话框:

ChildDialog = function () {
  $("#Confirm").dialog({
    modal: true,
    title: 'Please Confirm',
    zIndex: 10000,
    autoOpen: true,
    width: 'auto',
    resizable: false,
    buttons: {
      Yes: function () {
        $(this).dialog("close");
        //ParentDialog.Close() ??
      },
      No: function () {
        $(this).dialog("close");
      }
    },
    close: function (event, ui) {
      //$(this).remove();
    }
  });
}

1 个答案:

答案 0 :(得分:0)

jQuery UI对话框已获得.close() method。文档中写的示例如下:

$( ".selector" ).dialog( "close" );

将此示例改编为您的代码我建议您尝试使用此代码:

ChildDialog = function () {
    $("#Confirm").dialog({
        buttons: {
            Yes: function () {
                $(this).dialog("close");
                $("#fullscreen").dialog("close"); //add this line
            },
            No: function () {
                $(this).dialog("close");
            }
        }
    });
}