Ich habe ein paar Hyperlinks, an die jeweils eine ID angehängt ist. Wenn ich auf diesen Link klicke, möchte ich ein Modal öffnen ( http://twitter.github.com/bootstrap/javascript.html#modals ) und diese ID an das Modal übergeben. Ich habe auf Google gesucht, aber ich konnte nichts finden, was mir helfen könnte.
Dies ist der Code:
<a data-toggle="modal" data-id="@book.Id" title="Add this item" class="open-AddBookDialog"></a>
Welches sollte öffnen:
<div class="modal hide" id="addBookDialog">
<div class="modal-body">
<input type="hidden" name="bookId" id="bookId" value=""/>
</div>
</div>
Mit diesem Code:
$(document).ready(function () {
$(".open-AddBookDialog").click(function () {
$('#bookId').val($(this).data('id'));
$('#addBookDialog').modal('show');
});
});
Wenn ich jedoch auf den Hyperlink klicke, passiert nichts. Wenn ich den Hyperlink gebe <a href="#addBookDialog" ...>
, öffnet sich das Modal einwandfrei, enthält aber keine Daten.
Ich folgte diesem Beispiel: So übergeben Sie Wertargumente an die Funktion modal.show () in Bootstrap
(und ich habe auch Folgendes versucht: Wie stelle ich den Eingabewert in einem modalen Dialog ein? )
quelle
modal('show')
erforderlich? Scheint, als würde sich dasdata-toggle="modal"
auf den Links darum kümmern.$(this).data('id');
war von unschätzbarem Wert für sich! Ich hatte keine Ahnung, dass Sie damit die Datenattribute erhalten könnten. Ich liebe Bootstraps jeden Tag mehr! = P$(this).data()
ist Teil von jQuery. api.jquery.com/data/#data-html5Hier ist eine sauberere Möglichkeit, dies zu tun, wenn Sie Bootstrap 3.2.0 verwenden .
HTML verknüpfen
Modales JavaScript
http://jsfiddle.net/k7FC2/
quelle
e.currentTarget
ist das angeklickte Element, das dem Klickereignis entnommen wirde
. Diese Zeile findet eineinput
mit dem NamenbookId
und legt den Wert darauf fest.$(this)
durch$(e.relatedTarget)
Werke großartigHier ist, wie ich es implementiert habe, indem ich den Code von @ mg1075 verwendet habe. Ich wollte etwas allgemeineren Code, um den modalen Trigger-Links / Schaltflächen keine Klassen zuweisen zu müssen:
Getestet in Twitter Bootstrap 3.0.3.
HTML
JAVASCRIPT
quelle
!! $(this).data('id')
anstelle vontypeof $(this).data('id') !== 'undefined'
Wenn Sie mit Bootstrap 3+ arbeiten, kann dies bei Verwendung von Jquery etwas weiter verkürzt werden.
HTML
JQUERY
quelle
Ihr Code hätte mit der richtigen modalen HTML-Struktur funktioniert.
quelle
Bootstrap 4.3 - Verwenden Sie den Code von unten - mehr hier
Code-Snippet anzeigen
quelle
So können Sie die id_data an ein Modal senden:
Und das Javascript:
quelle
Versuchen Sie es damit
quelle
Sie können simpleBootstrapDialog ausprobieren . Hier können Sie Titel, Nachricht, Rückrufoptionen zum Abbrechen und Senden usw. übergeben.
quelle
Mit jquery ist das so einfach:
Wenn unten Ihr Ankerlink ist:
Im Show-Event Ihres Modals können Sie wie unten beschrieben auf das Ankertag zugreifen
quelle