我从这个链接中找到了 Passing data to a bootstrap modal但是仍然在几个小时之后,我找不到自己的方式去做。我想获得按钮的ID(假设我将通过jsp执行此操作)这是按钮
<a data-toggle="modal" href="#myModal" class="btn btn-primary btn-lg" data-id="p_id">Launch demo modal</a>
这是模态
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<input type="text" name="p_id" id="p_id" value=""/>
<hr>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
将此<script>
放在按钮上方
$(document).on("click", "#myModal", function () {
var myBookId = $(this).data('id');
$(".modal-body #p_id").val( myBookId );
});
ID应显示在<input type="text" name="p_id" id="p_id" value=""/>
我差不多花了整整一夜来搞清楚这一点。
答案 0 :(得分:1)
脚本中的选择器是错误的。试试这个
$(document).on("click", "a[href='#myModal']", function () {
var myBookId = $(this).data('id');
$(".modal-body #p_id").val( myBookId );
});
问题出在这个"#myModal"
您尝试使用id = "myModal"
触发元素的点击事件但在您的情况下,它是a标记的href
值,而不是id 。所以我已将脚本更改为a[href='#myModal']
答案 1 :(得分:1)
除了使用错误的选择器外,一切都很好。您使用的'#myModal 不是 id 的按钮。请改用 a [href ='#myModal'] 。
将您的代码更改为:
$(document).on("click", "a[href='#myModal']", function () {
var myBookId = $(this).data('id');
$(".modal-body #p_id").val( myBookId );
});
答案 2 :(得分:0)
为链接指定<a data-toggle="modal" href="#myModal" id="myButton" class="btn btn-primary btn-lg" data-id="p_id">Launch demo modal</a>
<script>
$(document).on('click','#myButton',function(){
var myBookId = $(this).data('id);
$('#p_id').val = myBookId;
});
</script>
,然后引用被点击的链接,如下所示:
Game