简体   繁体   English

引导程序模式:在输入字段中动态加载值

[英]Bootstrap modal: dynamically load value in input field

I have a Bootstrap modal in a Laravel app that I'm trying to dynamically load. 我正在尝试动态加载Laravel应用程序中的Bootstrap模态。 The idea is to fill the input fields in the modal with data coming from my database so I can update the values. 想法是用来自数据库的数据填充模式中的输入字段,以便我可以更新值。 I'm almost there.... 我快到了....

I have the following in my view file: 我的视图文件中包含以下内容:

   <a href="#myModal" data-toggle="modal" data-target="#edit-auction-modal" data-id="1" data-title="title 1" type="button" class="btn btn-sm btn-primary btn-warning">Open modal</a>

The 'data-id' and 'data-title' are passed to a JS function that looks as follows: “ data-id”和“ data-title”将传递给如下所示的JS函数:

$(function() {
    $('#edit-auction-modal').on("show.bs.modal", function (e) {
         $("#auctionLabel").html('Edit auction with id '+ $(e.relatedTarget).data('id'));
         $("#auctionTitle").html($(e.relatedTarget).data('title'));
    });
});

This JS function captures the id and title successfully. 此JS函数成功捕获ID和标题。 In the below modal view, I can print out the id in the panel-title because I'm telling in JS to put the data in the id="auctionLabel". 在下面的模式视图中,我可以在面板标题中打印出id,因为我要用JS告诉将数据放在id =“ auctionLabel”中。

<div class="row">
   <div id="edit-auction-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="panel panel-info">
                  <div class="panel-heading">
                    <div class="panel-title" id="auctionLabel"></div>
                  </div>
                </div>
                <div class="modal-body edit-content" style="padding-top:10px">
                     <form  method="POST" action="{!! route('admin_auctions_update') !!}">
                      {{ csrf_field() }}
                      <div class="form-group">
                        <label for="auction_name" class="control-label">Auction name</label>
                        <input name="auction_name" id="name" class="form-control" placeholder="Auction name" value="{{$auction->auction_name}}">
                      </div>

                    </form>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-success">Update auction</button>
                </div>
            </div>
        </div>
    </div>
</div>

My question is how I need to change the Javascript function in order to pre-fill the input fields with the value of the title. 我的问题是,我需要如何更改Javascript函数才能用标题的值预填充输入字段。 In other words, I want the value of the input box to contain the 'title' that I captured in the JS file. 换句话说,我希望输入框的值包含我在JS文件中捕获的“标题”。

Try this : 尝试这个 :

$('#edit-auction-modal').on("show.bs.modal", function (e) {
     $("#auctionLabel").html('Edit auction with id '+ $(e.relatedTarget).data('id'));
     $("#auctionTitle").html($(e.relatedTarget).data('title'));
    $('#edit-auction-modal ').find('input#input-id').val($(e.relatedTarget).data('title'))
});

You can use .val( value ) to set/change the input value in jQuery. 您可以使用.val( value )设置/更改jQuery中的输入值。

http://api.jquery.com/val/#val2 http://api.jquery.com/val/#val2

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM