Как скрыть Bootstrap предыдущий модальный при открытии нового?
У меня есть такая проблема: у меня есть аутентификация, которая создается с использованием модов Bootstrap.
Когда пользователь открывает знак в модальном режиме, он может пойти на регистрацию модального (или другого). Итак, мне нужно закрыть предыдущий.
Теперь я закрываю их следующим образом:
$(document).ready(function(){
$("a").click(function() {
$("#login").hide();
$("#sign_up").hide();
})
});
но когда я это делаю - я не могу повторно открыть знак в модальном (после того, как вы нажмете на запись из входа), пока я не обновляю страницу.
Может кто-нибудь подскажет, как проверить, какой модальный я нажимаю на ссылку и закрываю ее, когда вызываю другую? Есть ли универсальный способ закрыть предыдущий модальный?
Ответы
Ответ 1
Вы скрываете модальности Bootstrap с помощью:
$('#modal').modal('hide');
Высказывание $().hide()
делает связанный элемент невидимым, но в отношении модального кода он все еще присутствует. См. Раздел "Методы" в Документация по форматам.
Ответ 2
Переключить оба модала
$('#modalOne').modal('toggle');
$('#modalTwo').modal('toggle');
Ответ 3
Лучшее, что я смог сделать, это
$(this).closest('.modal').modal('toggle');
Это получает модальный объект DOM, на который вы активировали событие (предполагая, что вы нажимаете кнопку). Получает ближайший родительский ".modal" и переключает его. Очевидно, что работает только потому, что он внутри модального щелчка.
Однако вы можете сделать это:
$(".modal:visible").modal('toggle');
Это получает модальный, который отображается (поскольку вы можете иметь только один открытый за раз) и запускает "переключатель". Это не будет работать без ": visible"