I have a page the shows a list of local cafes. When the user clicks on a certain cafe, a modal dialog is shown, that already has the "cafe name" pre-filled. The page contains many cafe names, and the form should contain the "cafe name" that he clicked on.
Following is the list of cafe names generated as text with link button
<table class="table table-condensed table-striped"> <tbody> <tr> <td>B&Js </td> <td>10690 N De Anza Blvd </td> <td> <a class="btn btn-primary" data-toggle="modal" onClick="$('#createFormId').modal('show')" >Announce</a> </td> </tr> <tr> <td>CoHo Cafe </td> <td>459 Lagunita Dr </td> <td> <a class="btn btn-primary" data-toggle="modal" onClick="$('#createFormId').modal('show')" >Announce</a> </td> </tr> <tr> <td>Hot Spot Espresso and Cafe </td> <td>1631 N Capitol Ave </td> <td> <a class="btn btn-primary" data-toggle="modal" onClick="$('#createFormId').modal('show')" >Announce</a> </td> </tr> </tbody> </table>
Here is the modal form
<div class="modal hide fade" id="createFormId""> <div class="modal-header"> <a href="#" class="close" data-dismiss="modal">×</a> <h3>Create Announcement</h3> </div> <div class="modal-body"> <form class="form-horizontal" method="POST" commandName="announceBean" action="/announce" > <input type="hidden" name="cafeId" value="104" /> <fieldset> <div class="control-group"> <label class="control-label" for="cafeName">Where I am Coding</label> <div class="controls"> <input id="cafeName" name="cafeName" class="input-xlarge disabled" type="text" readonly="readonly" type="text" value="B&Js"/> </div> </div> <div class="control-group"> <label class="control-label" for="date">Date</label> <div class="controls"> <input type="text" class="input-xlarge" id="date" name="date" /> <p class="help-block"></p> </div> </div> <div class="control-group"> <div class="controls"> <input type="submit" class="btn btn-primary" value="create" /> <input type="button" class="btn" value="Cancel" onclick="closeDialog ();" /> </div> </div> </fieldset> </form> </div>
Question is how to pass actual value into the "value" attribute of the modal form?
<input type="hidden" name="cafeId" value="104" />
The form "show" event is triggered by "onlick" event
<a class="btn btn-primary" data-toggle="modal" onClick="$('#createFormId').modal('show')" >Announce</a>
To trigger the modal window, you need to use a button or a link. Then include the two data-* attributes: data-toggle="modal" opens the modal window. data-target="#myModal" points to the id of the modal.
Load Dynamic Content from Database in Bootstrap ModalBy clicking the Open Modal ( . openBtn ) button, the dynamic content is loaded from another PHP file ( getContent. php ) based on the ID and shows on the modal popup ( #myModal ).
When the submit button is clicked, it invokes the jQuery function. The data entered the text area is extracted using the val() method into the text variable. This text string is passed to the modal body using the html() method of jQuery.
You could do it like this:
<a class="btn btn-primary announce" data-toggle="modal" data-id="107" >Announce</a>
Then use jQuery to bind the click and send the Announce data-id as the value in the modals #cafeId:
$(document).ready(function(){ $(".announce").click(function(){ // Click to only happen on announce links $("#cafeId").val($(this).data('id')); $('#createFormId').modal('show'); }); });
Use
$(document).ready(function() { $('#createFormId').on('show.bs.modal', function(event) { $("#cafeId").val($(event.relatedTarget).data('id')); }); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With