1 <div id="myModal" class="modal hide fade"> 2 <div class="modal-header"> 3 <button type="button" class="close" data-dismiss="modal">x</button> 4 <h3>对话框标题</h3> 5 </div> 6 <div class="modal-body"> 7 <p>对话框主体</p> 8 </div> 9 <div class="modal-footer">10 <a href="#" class="btn" data-dismiss="modal">取消</a>11 <a href="#" class="btn btn-primary" data-dismiss="modal">确定</a>12 </div>13 </div>
Der Anzeigeeffekt ähnelt dem Bild unten:
Modale Dialoge können direkt über Schaltflächen oder Links aufgerufen werden. Dies ist eine einfache Verwendung:
<button type="button" data-toggle="modal" data-target="#myModal">打开对话框</button><a href="#myModal" role="button" class="btn" data-toggle="modal">打开对话框</button>
<br/>
Hiermit können nur statische Inhalte im Dialogfeld angezeigt werden. Verwenden Sie die Remote-Option des Dialogfelds, um stärkere Effekte zu erzielen.
Es gibt zwei Methoden: Eine besteht darin, einen Link zu verwenden, die andere darin, ein Skript zu verwenden .
<a href="page.jsp" data-toggle="modal" data-target="#myModal">打开对话框</a>
Wenn auf diesen Link geklickt wird, wird der Inhalt von page.jsp in die .modal von geladen Im Dialogfeld-Körper wird ein Dialogfeld angezeigt.
$("#myModal").modal({ remote: "page.jsp" });
Die Wirkung dieses Skripts ist die gleiche wie die Verwendung eines Links. Wenn dieses Skript ausgeführt wird, Die Seite Der Inhalt der .jsp wird in den .modal-Body des Dialogfelds geladen und das Dialogfeld wird angezeigt.
Hinter diesen beiden Methoden ruft Bootstrap die Methode „load()“ von jQuery auf, um die Seite „page.jsp“ vom Server zu laden. Dieses Laden erfolgt jedoch nur einmal, egal wie oft Sie auf den Link klicken oder das Skript mehrmals ausführen oder sogar den an die Remote-Option übergebenen Wert ändern. Das ist wirklich ein Problem . Das Problem lässt sich jedoch noch lösen.
Nachdem ich relevante Dokumente durchsucht und konsultiert habe, habe ich festgestellt, dass im versteckten Ereignis des Dialogfelds eine Nachricht geschrieben wird box Die Anweisung reicht aus:
$("#myModal").on("hidden", function() { $(this).removeData("modal"); });
Sie können die Daten auch jedes Mal entfernen, bevor Sie das Dialogfeld öffnen, und der Effekt ist der gleiche.
Hinweis: Der obige Code basiert auf Bootstrap v2. Der HTML-Code des modalen Dialogfelds und die Art und Weise, wie das Ereignis geschrieben wird, unterscheiden sich beispielsweise etwas. Für das oben genannte versteckte Ereignis sollte es wie folgt geschrieben werden:
$("#myModal").on("hidden.bs.modal", function() { $(this).removeData("bs.modal"); });
Das obige ist der detaillierte Inhalt vonLösen Sie das Problem, dass Bootstrap Remote-Daten nur einmal lädt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!