Wie verstecke ich das vorherige Modal von Bootstrap, wenn ich ein neues öffne?

Lesezeit: 2 Minuten

Ich habe solche Probleme: Ich habe eine Authentifizierung, die mit Bootstrap-Modalen durchgeführt wird.

Wenn der Benutzer das Anmeldemodal öffnet, kann er zum Anmeldemodal (oder zu einem anderen) gehen. Also muss ich den vorherigen schließen.

Jetzt schließe ich sie so:

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

aber wenn ich dies tue, kann ich das Anmeldemodal nicht erneut öffnen (nachdem ich auf Anmelden von der Anmeldung geklickt habe), bis ich die Seite aktualisiere.

Kann jemand vorschlagen, wie ich überprüfen kann, auf welches Modal ich auf den Link klicke und ihn schließe, wenn ich einen anderen anrufe? Gibt es eine universelle Möglichkeit, das vorherige Modal zu schließen?

Benutzer-Avatar
willglynn

Sie verstecken Bootstrap-Modale mit:

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

Sprichwort $().hide() macht das übereinstimmende Element unsichtbar, aber was den modalbezogenen Code betrifft, ist es immer noch da. Siehe Abschnitt Methoden im Modale Dokumentation.

  • Willglynn, ich weiß, wie man es versteckt, aber ich brauche Hilfe bei etwas Logik. Kann ich ein Beispiel erstellen und Sie werden es sich ansehen?

    – MITTEL

    21. September 2012 um 14:08 Uhr

  • Ihr Beispiel zeigt das Verstecken mit $().hideanstatt mit $().modal('hide'). Aber ja, A JSFiddle Wäre hilfreich.

    – willlynn

    21. September 2012 um 14:16 Uhr

  • Ja, es funktioniert besser als meins) Ich bin nicht konzentriert. Danke)

    – MITTEL

    21. September 2012 um 14:25 Uhr

  • Hat funktioniert, danke

    – Tim Bogdanov

    19. Januar um 23:27 Uhr

Benutzer-Avatar
Vikash Kumar

Schalten Sie beide Modalitäten um

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

Das Beste, was ich tun konnte, ist

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

Dadurch wird das Modal abgerufen, das das DOM-Objekt enthält, auf dem Sie das Ereignis ausgelöst haben (vorausgesetzt, Sie klicken auf eine Schaltfläche). Ruft das nächste übergeordnete Element „.modal“ ab und schaltet es um. Funktioniert offensichtlich nur, weil es sich innerhalb des Modals befindet, auf das Sie geklickt haben.

Sie können dies jedoch tun:

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

Dadurch wird das angezeigte Modal abgerufen (da Sie jeweils nur eines geöffnet haben können) und das ‘Umschalten’ ausgelöst. Dies würde ohne “:visible” nicht funktionieren.

1228460cookie-checkWie verstecke ich das vorherige Modal von Bootstrap, wenn ich ein neues öffne?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy