将按钮数据传递给模态形式

时间:2016-03-18 16:02:12

标签: twitter-bootstrap

我从这个链接中找到了 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">&times;</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=""/>我差不多花了整整一夜来搞清楚这一点。

3 个答案:

答案 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