如何在打开新模式时隐藏Bootstrap之前的模态?

时间:2012-09-21 13:35:10

标签: jquery twitter-bootstrap modal-dialog

我有这样的麻烦:我使用Bootstrap模态进行身份验证。

当用户打开登录模式时,他可以去注册模态(或其他)。所以,我需要关闭前一个。

现在我正在关闭他们:

$(document).ready(function(){
  $("a").click(function() {
  $("#login").hide();
  $("#sign_up").hide();
 })  
});

但是当我这样做时 - 我无法重新开启登录模式(点击登录后注册),直到我刷新页面。

当有人打电话给另一个时,有人可以建议如何检查我点击链接的模态并关闭它吗?是否有任何通用的方法来关闭以前的模态?

3 个答案:

答案 0 :(得分:58)

隐藏Bootstrap模态:

$('#modal').modal('hide');

$().hide()使匹配的元素不可见,但就模态相关的代码而言,它仍然存在。请参阅Modals documentation

中的“方法”部分

答案 1 :(得分:2)

切换两个模态

$('#modalOne').modal('toggle');
$('#modalTwo').modal('toggle');

答案 2 :(得分:1)

我能做的最好的事情是

$(this).closest('.modal').modal('toggle');

这将获取持有触发事件的DOM对象的模态(猜测您是单击按钮)。获取最接近的父“.modal”并切换它。显然只有它可以工作,因为它在你点击的模态中。

但你可以这样做:

$(".modal:visible").modal('toggle');

这会显示正在显示的模式(因为您一次只能打开一个),并触发“切换”如果没有“:visible”,这将无效