Bootstrap 外部 link 模态继承
Bootstrap external link modal inheritance
所以我有这段代码,当我单击 View Receipt
link 时,收据图像的外部 link 将以模式弹出。我正在使用 twig 和 slim 框架。
这是我的 html 文件和树枝:
{% for r in results %}
<a data-toggle="modal" href="/user/receipt/{{r.accountID}}" data-target="#myModal">View Receipt</a>
{% endfor %}
{% block script %}
<!-- Modal -->
<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> <!-- /.modal-content -->
</div> <!-- /.modal-dialog -->
</div> <!-- /.modal -->
{% endblock %}
route.php代码:
$app->get('/user/receipt/:id', function($id) use($app) {
$db = new db();
$bind = array(
":aid" => $id
);
$result = $db->select("accounts", "accountID = :aid", $bind);
$app->render('screenshot.html', array('result' => $result));
});
screenshot.html代码:
{% for r in result %}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<img src="/assets/img/receipts/{{r.receipt}}" class="img-responsive">
</div>
{% endfor %}
现在一切正常。图像显示在模态中。问题是......当我第一次点击 View Receipt
link 页面时,所有其他 links 将包含相同的图像而不是基于的图像accountID
。所有 link 都继承被点击的第一个 link。我做错了什么?
我不确定如何做您当前正在做的事情 - 动态生成模态内容 - 但有一个替代方案。
您可以改为将模态框包装在 for 循环中,并将其 ID 与收据 ID 相关联。因此,每个模态仅包含其各自的收据图像。
{% for r in results %}
<a data-toggle="modal" href="/user/receipt/{{r.accountID}}" data-target="#myModal{{r.id}}">View Receipt</a>
{% endfor %}
那么你的模态代码看起来像这样...
{% for r in results %}
<div class="modal fade" id="myModal{{r.id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
</div> <!-- /.modal-content -->
</div> <!-- /.modal-dialog -->
所以我有这段代码,当我单击 View Receipt
link 时,收据图像的外部 link 将以模式弹出。我正在使用 twig 和 slim 框架。
这是我的 html 文件和树枝:
{% for r in results %}
<a data-toggle="modal" href="/user/receipt/{{r.accountID}}" data-target="#myModal">View Receipt</a>
{% endfor %}
{% block script %}
<!-- Modal -->
<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> <!-- /.modal-content -->
</div> <!-- /.modal-dialog -->
</div> <!-- /.modal -->
{% endblock %}
route.php代码:
$app->get('/user/receipt/:id', function($id) use($app) {
$db = new db();
$bind = array(
":aid" => $id
);
$result = $db->select("accounts", "accountID = :aid", $bind);
$app->render('screenshot.html', array('result' => $result));
});
screenshot.html代码:
{% for r in result %}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<img src="/assets/img/receipts/{{r.receipt}}" class="img-responsive">
</div>
{% endfor %}
现在一切正常。图像显示在模态中。问题是......当我第一次点击 View Receipt
link 页面时,所有其他 links 将包含相同的图像而不是基于的图像accountID
。所有 link 都继承被点击的第一个 link。我做错了什么?
我不确定如何做您当前正在做的事情 - 动态生成模态内容 - 但有一个替代方案。
您可以改为将模态框包装在 for 循环中,并将其 ID 与收据 ID 相关联。因此,每个模态仅包含其各自的收据图像。
{% for r in results %}
<a data-toggle="modal" href="/user/receipt/{{r.accountID}}" data-target="#myModal{{r.id}}">View Receipt</a>
{% endfor %}
那么你的模态代码看起来像这样...
{% for r in results %}
<div class="modal fade" id="myModal{{r.id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
</div> <!-- /.modal-content -->
</div> <!-- /.modal-dialog -->