J'ai quelques hyperliens auxquels chacun a un ID attaché. Lorsque je clique sur ce lien, je souhaite ouvrir un modal ( http://twitter.github.com/bootstrap/javascript.html#modals ) et transmettre cet ID au modal. J'ai cherché sur google, mais je n'ai rien trouvé qui puisse m'aider.
Voici le code:
<a data-toggle="modal" data-id="@book.Id" title="Add this item" class="open-AddBookDialog"></a>
Qui devrait ouvrir:
<div class="modal hide" id="addBookDialog">
<div class="modal-body">
<input type="hidden" name="bookId" id="bookId" value=""/>
</div>
</div>
Avec ce morceau de code:
$(document).ready(function () {
$(".open-AddBookDialog").click(function () {
$('#bookId').val($(this).data('id'));
$('#addBookDialog').modal('show');
});
});
Cependant, lorsque je clique sur l'hyperlien, rien ne se produit. Lorsque je donne l'hyperlien <a href="#addBookDialog" ...>
, le modal s'ouvre très bien, mais il ne contient aucune donnée.
J'ai suivi cet exemple: Comment passer des arguments de valeurs à la fonction modal.show () dans Bootstrap
(et j'ai également essayé ceci: comment définir la valeur d'entrée dans un dialogue modal? )
la source
modal('show')
nécessaire? On dirait que ledata-toggle="modal"
sur les liens s'en occuperait.$(this).data('id');
était inestimable en soi! Je ne savais pas que vous pouviez obtenir les données avec cela. J'adore les bootstraps chaque jour! = P$(this).data()
fait partie de jQuery. api.jquery.com/data/#data-html5Voici une façon plus propre de le faire si vous utilisez Bootstrap 3.2.0 .
Lien HTML
JavaScript modal
http://jsfiddle.net/k7FC2/
la source
e.currentTarget
est l'élément cliqué, qui est extrait de l'événement clicke
. Cette ligne trouve uninput
avec le nombookId
et y définit la valeur.$(this)
par des$(e.relatedTarget)
œuvres formidablesVoici comment je l'ai implémenté à partir du code de @ mg1075. Je voulais un code un peu plus générique pour ne pas avoir à assigner de classes aux liens / boutons de déclenchement modal:
Testé dans Twitter Bootstrap 3.0.3.
HTML
JAVASCRIPT
la source
!! $(this).data('id')
place detypeof $(this).data('id') !== 'undefined'
Si vous êtes sur bootstrap 3+, cela peut être raccourci un peu plus si vous utilisez Jquery.
HTML
JQUERY
la source
Votre code aurait fonctionné avec une structure html modale correcte.
la source
Bootstrap 4.3 - utilisez le code de l'extrait ci-dessous - plus ici
Afficher l'extrait de code
la source
Voici comment envoyer les id_data à un modal:
Et le javascript:
la source
Essayez avec ça
la source
Vous pouvez essayer simpleBootstrapDialog . Ici, vous pouvez passer le titre, le message, les options de rappel pour annuler et soumettre etc ...
la source
C'est si facile avec jquery:
Si ci-dessous est votre lien d'ancrage:
Dans l'événement show de votre modal, vous pouvez accéder à la balise d'ancrage comme ci-dessous
la source