Wie kann ich die Wiederverwendung eines Bootstrap-modal-div?

Ich würde gerne in der Lage sein, um eine Reihe von verschiedenen links auf einer Seite wiederverwenden einer modal-div über Bootstrap-modal-plugin:

<h3>This button shows a modal (<code>#utility</code>) with text "Phasellus <em>tincidunt gravida</em>..."</h3>
<br />
<a id="file_attach" data-toggle="modal" href="http://fiddle.jshell.net/jhfrench/6K8rD/show/" data-target="#utility" class="btn">Modal 1</a><br />
<h3>This button should invoke the same modal (<code>#utility</code>), but fill it with text "Phasellus <em>egestas est eu</em>..."</h3>
<br />
<a id="file_attach" data-toggle="modal" href="http://fiddle.jshell.net/jhfrench/AWSnt/show/" data-target="#utility" class="btn">Modal 2</a><br />

<!-- Modal -->
<div id="utility" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h3 id="myModalLabel">Click outside modal to close it</h3>
  </div>
  <div class="modal-body">
    <p>One fine body…this is getting replaced with content that comes from passed-in href</p>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <button class="btn btn-primary">Save changes</button>
  </div>
</div>

Ich würde erwarten, dass ein Klick auf einen der Links (was sind gestaltet wie buttons) aufrufen würde den modal und laden Sie die modale mit der Seite (Wert href) entsprechend der angeklickten Schaltfläche. Stattdessen werden die modalen lädt stets mit dem Inhalt von dem link, den Sie klicken Sie auf erste; der modal-nicht "refresh" mit dem Inhalt, dass sollte bestimmt werden, indem href von der "anderen" - link.

Ich denke, das ist eine Bootstrap-Fehler, aber ich bin mit der Frage hier in den Fall bin ich mit es falsch.

Finden Sie http://jsfiddle.net/jhfrench/qv5u5/ für eine demonstration.

  • haben Sie versucht, rufen Sie die Funktion removeData? So etwas wie: $('body').auf('hidden', '.modal', function () { $(this).removeData('modal'); });
  • habe es versucht (siehe fiddle), aber keine Freude.
Schreibe einen Kommentar