【发布时间】:2015-10-19 19:53:06
【问题描述】:
我有一个表格,其中的行根据数据库记录动态显示。
我想要做的是,当我单击其中一行时,它会加载 Bootstrap 模式,其中包含该特定记录的数据库中的所有信息。
这是显示的每一行的代码,当我单击它时,它会显示模态,但模态是空的,没有任何数据。
初始文件
<tr class="issuesTable push" data-toggle="modal" data-target="#myModal" <?php echo "id='" . $row['Issue_ID'] . "'"; ?> >
所以我试图获取这个动态 ID 值并将其传递给一个名为 issueDisplayModal.php 的文件以进行查询,然后在模式上显示详细信息。这是另一个文件中的查询。
应接收 ID 的代码
$issueID = $_POST['record_id']
issueQue ="SELECT * FROM Issues WHERE Issue_ID = $issueID";
$result = $my_dbhandle->query($issueQue);
$numResults = $result->num_rows;
在这之后,我做了一系列的回声来打印出我正在工作的模态信息(谢天谢地!)。
这是我尝试发送 HTTP 请求以根据我发送的 ID 在模态框上显示 issueDisplayModal.php 代码的 JQuery 代码。
应该调用文件并发送 ID 变量的 AJAX
$('#myModal').on('show.bs.modal', function (e) {
var $invoker = $(e.relatedTarget);
var issue_id = $invoker.attr('id');
$.ajax({
type : 'post',
url : 'issueDisplayModal.php', // in here you should put your query
data : 'post_id='+ issue_id, // here you pass your id via ajax .
// in php you should use $_POST['post_id'] to get this value
success : function(r)
{
// now you can show output in your modal
$('#mymodal').show(); // put your modal id
$('.something').show().html(r);
}
});
})
这是应该显示 issueDisplayModal.php
的结果的模式<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Issue Details:</h4>
</div>
<div class="modal-body">
<div class="something">
**results should be displayed here**
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Create Task</button>
<button type="button" class="btn btn-primary">Close</button>
</div>
</div>
</div>
</div>
【问题讨论】:
-
那么当您单击该按钮时会发生什么?您能否澄清对您不起作用的位,缺少什么?任何错误信息?如果您发布有关 javascript 连接位置的更多详细信息也会有所帮助,例如一个完整的 HTML 测试页面会很好......
-
模式出现了,但它是空的。我不知道是否没有调用 php 文件,或者它是否没有正确传递 ID。让我发布一段更大的代码。我只是不想被所有的代码压得喘不过气来。
-
当您将其写入控制台时,r 中有任何内容吗?在调用 .show() 之前,执行 console.log(r) 以查看响应中是否有任何内容
-
我认为 r 中没有任何内容。
-
@AbrahamA.如果你还没有弄清楚,问题出在
<tr>,然后是var $invoker = $(e.relatedTarget);
标签: php jquery ajax twitter-bootstrap bootstrap-modal