Tengo un par de hipervínculos que tienen una identificación adjunta. Cuando hago clic en este enlace, quiero abrir un modal ( http://twitter.github.com/bootstrap/javascript.html#modals ) y pasar esta ID al modal. Busqué en google, pero no pude encontrar nada que pudiera ayudarme.
Este es el código:
<a data-toggle="modal" data-id="@book.Id" title="Add this item" class="open-AddBookDialog"></a>
Cuál debería abrir:
<div class="modal hide" id="addBookDialog">
<div class="modal-body">
<input type="hidden" name="bookId" id="bookId" value=""/>
</div>
</div>
Con esta pieza de código:
$(document).ready(function () {
$(".open-AddBookDialog").click(function () {
$('#bookId').val($(this).data('id'));
$('#addBookDialog').modal('show');
});
});
Sin embargo, cuando hago clic en el hipervínculo, no sucede nada. Cuando doy el hipervínculo <a href="#addBookDialog" ...>
, el modal se abre bien, pero no contiene ningún dato.
Seguí este ejemplo: Cómo pasar argumentos de valores a la función modal.show () en Bootstrap
(y también probé esto: ¿Cómo establecer el valor de entrada en un diálogo modal? )
fuente
modal('show')
requerida? Parece quedata-toggle="modal"
en los enlaces se encargarían de eso.$(this).data('id');
no tenía precio por sí mismo! No tenía idea de que podría obtener los atributos de datos con eso. ¡Me encantan las botas cada día más! = P$(this).data()
es parte de jQuery. api.jquery.com/data/#data-html5Aquí hay una forma más limpia de hacerlo si está utilizando Bootstrap 3.2.0 .
Enlace HTML
JavaScript modal
http://jsfiddle.net/k7FC2/
fuente
e.currentTarget
es el elemento cliqueado , que se toma del evento clicke
. Esta línea encuentra uninput
con el nombrebookId
y establece el valor en él.$(this)
con$(e.relatedTarget)
obras genialesAsí es como lo implementé trabajando desde el código de @ mg1075. Quería un código un poco más genérico para no tener que asignar clases a los botones / enlaces de activación modal:
Probado en Twitter Bootstrap 3.0.3.
HTML
JAVASCRIPT
fuente
!! $(this).data('id')
lugar detypeof $(this).data('id') !== 'undefined'
Si está usando Bootstrap 3+, esto se puede acortar un poco más si usa Jquery.
HTML
JQUERY
fuente
Su código habría funcionado con la estructura html modal correcta.
fuente
Bootstrap 4.3 - use el código del fragmento a continuación - más aquí
Mostrar fragmento de código
fuente
Así es como puede enviar id_data a un modal:
Y el javascript:
fuente
Intenta con esto
fuente
Puedes probar simpleBootstrapDialog . Aquí puede pasar el título, el mensaje, las opciones de devolución de llamada para cancelar y enviar, etc.
fuente
Esto es muy fácil con jquery:
Si a continuación está su enlace de anclaje:
En el evento show de su modal, puede acceder a la etiqueta de anclaje como se muestra a continuación
fuente