我尝试启动远程引导模式并在模态中填充数据表。我第一次从link1
启动模态时它可以工作并设置变量但是如果我点击link2
模态打开但使用来自link1
的数据,反之亦然。
在父页面上,我通过php创建链接,如下所示:
PHP:
echo '<a data-toggle="modal" data-target="#viewComments" href="./remotemodal.php?object='.urlencode($row['OBJECT_NAME']).'&date='.urlencode($row['DATE_OCCURED']).'&error='.urlencode($row['ERROR']).'" class="btn-sm btn-info" ><i class="fa fa-comment-o"></i> View Comments</a>';
它正确填充链接,类似于以下内容:
Link1: remotemodal.php?object = Cluster1&amp; date = 03%2F01%2F2016 + 23%3A48&amp; error = Error1
Link2: remotemodal.php?object = Cluster2&amp; date = 03%2F02%2F2016 + 17%3A44&amp; error = Error2
这是remotemodal.php的PHP:
PHP:
<?php
$object = NULL;
$date = NULL;
$error = NULL;
echo '<script type="text/javascript">alert("' . $object . '")</script>';
echo '<script type="text/javascript">alert("' . $date . '")</script>';
echo '<script type="text/javascript">alert("' . $error . '")</script>';
if ( !empty($_GET['object'])) {
$object = $_GET['object'];
$date = $_GET['date'];
$error = $_GET['error'];
}
echo '<script type="text/javascript">alert("' . $object . '")</script>';
echo '<script type="text/javascript">alert("' . $date . '")</script>';
echo '<script type="text/javascript">alert("' . $error . '")</script>';
?>
如果我直接转到链接,它们可以工作,我在js警报中看到了正确的变量。我试图在模态关闭时从父页面清除模态数据,但没有任何工作
使用Javascript:
<script>
$('body').on('hidden.bs.modal', '.modal', function () {
$(this).removeData('bs.modal');
});
</script>
答案 0 :(得分:2)
查看documentation,removeData
似乎仅适用于使用数据属性的数据集。
因此,您必须改变设置模态数据的方式或通过jQuery单独设置数据。
实际上,经过一些谷歌搜索后,似乎这是this question.
的副本答案 1 :(得分:1)
您是通过ajax填充模态正文/内容吗?
<a data-toggle="modal" data-target="#viewComments" href="http://www.thisurl.com/never/gets?called" >Open Modal</a>
bootstrap只是切换数据目标的可见性......从不遵循链接
答案 2 :(得分:0)
我的结果与此不同,但与Dynamically load information to Twitter Bootstrap modal
类似在父页面上,我使用我想传递的变量填充链接
<a object="'.urlencode($row['OBJECT_NAME']).'" date="'.urlencode($row['DATE_OCCURED']).'" error="'.urlencode($row['ERROR']).'" data-toggle="modal" data-target="" href="#" class="btn-sm btn-info" ><i class="fa fa-comment-o"></i> View Comments</a>';
模式有一个隐藏的div
javascript在点击时显示
<div id="modalContent" style="display:none;">
...table here...
</div>
然后当单击按钮时,我从链接中获取变量,创建数据表并将变量传递给ajax。然后当模态关闭时,我销毁表格,以便用户可以单击另一个链接。
使用Javascript:
$(".btn-info[data-toggle=modal]").click(function() {
var object = $(this).attr('object');
var date = $(this).attr('date');
var error = $(this).attr('error');
$('#viewComments').modal();
$('#modalContent').show();
table = $('#activity-report').DataTable({
"order": [
[0, "desc"]
],
"displayLength": 10,
"bprocessing": true,
"bserverSide": true,
"sAjaxSource": "remotemodal.php?object=" + object + "&date=" + date + "&error=" + error,
"sServerMethod": "POST"
});
});
$('#viewComments').on('hidden.bs.modal', function() {
table.destroy();
});