关闭Alloy UI模态窗口

时间:2015-08-11 08:12:25

标签: modal-dialog alloy-ui

我使用过合金UI模态窗口。代码是:

YUI().use(
          'aui-modal',
          function(Y) {
            var modal = new Y.Modal(
              {
                bodyContent:'test',
                centered: true,
                headerContent:headerContent,
                modal: true,
                render: '#testModal',
                width: 631,
                id:'modalSource',
                destroyOnHide:true
              }
            ).render();

            modal.addToolbar(
                      [{
                          label: 'Add',
                          on: {
                            click: function() {
                                addData();
                             //modal.hide() works here but i need to close it inside addData..

                            }
                          }
                        },
                        {
                              label: 'Cancel',
                              on: {
                                click: function() {
                                    modal.hide();
                                }
                              }
                            }

                      ]
                    );
          }
        );

函数addData在一个不同的js文件中并进行Ajax调用,所以我需要传递模态窗口的id并在成功回调后关闭它。你对如何获取模态窗口的ID并在那里使用modal.hide有任何想法吗?谢谢

function addData()
{
   $('#modalSource').hide();
}

1 个答案:

答案 0 :(得分:0)

经过一些AUI教程,设法解决它。只需将模态窗口的实例传递给addData函数,然后调用hide()方法。

modal.addToolbar(
                  [{
                      label: 'Add',
                      on: {
                        click: function() {
                            addData(modal);


                        }
                      }
                    },   



 function addData(modalInstance)
 {
  //do needed stuff
   modalInstance.hide();
 }