【问题标题】:Refresh parent page after closing modal关闭模态后刷新父页面
【发布时间】:2014-05-22 01:47:24
【问题描述】:

当用户打开此模态时,他们可以看到他们的购物车信息并删除模态上的项目(其他 jquery)。

但是在用户关闭模式后,我如何刷新父页面?

我阅读了几篇帖子,但没有找到任何对我的情况有用的信息。我知道我需要使用 window.location.reload(true); 之类的东西我应该把它放在代码的什么地方?

$(function(){

    $('#main').off('click.login').on('click.login',function(){

        $('body').loadmodal({

            id:'cart',
            title:'Shopping Cart',
            url:'/cartDisplay/',
            width: '550px',
        }); 


    });
});

更新

    $(function(){
    $('#main').off('click.login').on('click.login',function(){

        $('body').loadmodal({

            id:'cart',
            title:'Shopping Cart',
            url:'/polls/cartDisplay/',
            width: '550px',

        }); 


    });

    $('#cart').on('hidden', function () {
        window.location.reload(true);
    })

});

【问题讨论】:

    标签: javascript jquery ajax django modal-dialog


    【解决方案1】:

    据我所知,jquery.loadmodal.js 具有 bootstrap.js 作为依赖项,因此它的模态仍然受制于引导程序的方法。

    在这种情况下,您可以简单地绑定到hidden.bs.modal

    ...
    $('#yourModal').on('hidden.bs.modal', function () {
        location.reload();
    });
    ...
    

    【讨论】:

    • 谢谢。你的意思是我需要写一个新的jquery吗?或者将这些代码放在我当前的 Jquery 中
    • 不,只是将我的代码中的 #yourModal 替换为代码中模态的 ID。看起来你叫它#cart,所以$('#cart').on...
    • 谢谢。我做了改变。但我似乎仍然无法正常工作。我更新了我的帖子。你可以看看吗?
    • 谢谢它现在有效。我将#cart 更改为文档。
    【解决方案2】:

    我假设你正在使用 Twitter Bootstrap

    引导程序 3

    $('#cart').on('hidden.bs.modal', function () {
        window.location.reload(true);
    })
    

    引导程序 2.3.2

    $('#cart').on('hidden', function () {
       window.location.reload(true);
    })
    

    【讨论】:

    • 谢谢。我正在使用引导程序。我把你的代码放在我当前的 jquery 中。当我关闭模式时,父页面仍然没有刷新。
    • 还想请你看看控制台你能看到任何错误吗。
    • 我使用的是 BS 2.3.2 我看不到任何错误。它只是关闭了模式,父页面没有发生任何事情
    • 另外我从“hidden.bs.modal”改成“hidden”还是不行。
    • 在我将#cart 更改为文档后,它似乎现在可以刷新父页面
    【解决方案3】:

    试试这个。

      $("#cart").on('hide', function () {
            window.location.reload();
        });
    

    【讨论】:

      【解决方案4】:

      在你打开nyroModal窗口的地方,添加这个回调函数即可:

       callbacks: {
             afterClose: function() {
                    window.location.reload();
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多