我在 php 的foreach
功能中有一个按钮。我有一个模式,其中 id 对应于单击的按钮。现在,我想要做的是当我点击按钮时按ID显示模态,但第一个按钮仅用于显示模态而另一个按钮不用。我该怎么办?这是我的代码......
<?php $count = 0; ?>
<?php foreach ($land_i as $li){ ?>
<?php $count++ ?>
<tr>
<td><?= $li['date_approved'] ?></td>
<td><?= $li['status'] ?></td>
<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target=".modal_<?= $li['lpf_no'] ?><?= $count ?>" data-backdrop="static" data-keyboard="false">Select</button>
</td>
</tr>
<?php } ?>
我尝试使用计数从按钮生成它的唯一编号。我知道这是无意义的,因为每个按钮已经有唯一ID 。这是我的模态...
<div class="modal fade modal_<?= $li['lpf_no'] ?><?= $count ?>" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">In Progress...</h4>
</div>
<div class="modal-body">
<h4><?= $li['lpf_no'] ?></h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
是的。希望有人会帮我这个。这是另一回事......我尝试将模态放在我的foreach
函数中。它的工作原理,但模式破坏和页面的设计也是如此。所以我更喜欢把它放在foreach函数之外。
答案 0 :(得分:0)
问题出在data-target
。您将计数附加到循环中data-target
的末尾(data-target=".modal_<?= $li['lpf_no'] ?><?= $count ?>
),以及您的模态本身:<div class="modal fade modal_<?= $li['lpf_no'] ?><?= $count ?>
... </div>
。问题是$count
没有反映当前计数;到目前为止,循环已经完成; $count
现在只引用最后一项。
假设你想为每个项目设置不同的模态,你确实需要在循环中输出模态 - 我实际上建议使用第二个循环,所以不必担心关闭你的桌子等事情:
<table>
<?php $count = 0; ?>
<?php foreach ($land_i as $li) { ?>
<?php $count++ ?>
<tr>
<td><?= $li['date_approved'] ?></td>
<td><?= $li['status'] ?></td>
<td><button type="button" class="btn btn-primary" data-toggle="modal" data-target=".modal_<?= $li['lpf_no'] ?><?= $count ?>" data-backdrop="static" data-keyboard="false">Select</button>
</td>
</tr>
<?php } ?>
</table>
<?php $count = 0; ?>
<?php foreach ($land_i as $li) { ?>
<?php $count++ ?>
<div class="modal fade modal_<?= $li['lpf_no'] ?><?= $count ?>" tabindex="-1" role="dialog" aria-hidden="true" style="display: none;">
...
</div>
<?php } ?>
这样,您最终会为每个项目设置不同的模态,并且它们都将具有正确的data-target
引用。由于在开始第二次循环之前关闭了<table>
,它也不应该破坏你的格式。