Eu tenho alguns links que possuem um ID anexado. Quando clico neste link, quero abrir um modal ( http://twitter.github.com/bootstrap/javascript.html#modals ) e passar esse ID para o modal. Pesquisei no google, mas não encontrei nada que pudesse me ajudar.
Este é o código:
<a data-toggle="modal" data-id="@book.Id" title="Add this item" class="open-AddBookDialog"></a>
O que deve abrir:
<div class="modal hide" id="addBookDialog">
<div class="modal-body">
<input type="hidden" name="bookId" id="bookId" value=""/>
</div>
</div>
Com este pedaço de código:
$(document).ready(function () {
$(".open-AddBookDialog").click(function () {
$('#bookId').val($(this).data('id'));
$('#addBookDialog').modal('show');
});
});
No entanto, quando clico no hiperlink, nada acontece. Quando dou o hiperlink <a href="#addBookDialog" ...>
, o modal é aberto muito bem, mas não contém nenhum dado.
Segui este exemplo: Como passar argumentos de valores para a função modal.show () no Bootstrap
(e também tentei o seguinte: como definir o valor de entrada em um diálogo modal? )
fonte
modal('show')
necessário? Parece que osdata-toggle="modal"
links resolveriam isso.$(this).data('id');
foi impagável por si só! Eu não tinha idéia de que você poderia obter os atributos de dados com isso. Estou amando bootstraps mais a cada dia! = P$(this).data()
faz parte do jQuery. api.jquery.com/data/#data-html5Aqui está uma maneira mais limpa de fazer isso se você estiver usando o Bootstrap 3.2.0 .
HTML do link
JavaScript modal
http://jsfiddle.net/k7FC2/
fonte
e.currentTarget
é o elemento clicado, retirado do evento clicke
. Esta linha encontra uminput
com o nomebookId
e define o valor nele.$(this)
com$(e.relatedTarget)
funciona muito bemVeja como eu o implementei trabalhando a partir do código da mg1075. Eu queria um código um pouco mais genérico para não precisar atribuir classes aos botões / links de gatilho modal:
Testado no Twitter Bootstrap 3.0.3.
HTML
JAVASCRIPT
fonte
!! $(this).data('id')
vez detypeof $(this).data('id') !== 'undefined'
Se você estiver no bootstrap 3+, isso poderá ser reduzido ainda mais se você estiver usando o Jquery.
HTML
JQUERY
fonte
Seu código teria funcionado com a estrutura modal html correta.
fonte
Bootstrap 4.3 - use o código abaixo do snippet - mais aqui
Mostrar snippet de código
fonte
É assim que você pode enviar o id_data para um modal:
E o javascript:
fonte
Tente com isso
fonte
Você pode tentar simpleBootstrapDialog . Aqui você pode passar título, mensagem, opções de retorno de chamada para cancelar e enviar etc ...
fonte
Isso é tão fácil com o jquery:
Se abaixo está o seu link de âncora:
No evento show do seu modal, você pode acessar a tag anchor como abaixo
fonte