php - 在 PHP While 循环中显示/隐藏 Div
问题描述
我有一个文件,我在其中循环遍历数据库中的所有事件,然后将它们放在页面上。单击时,我在每个事件 div 的末尾都有一个 div 按钮,我希望打开该特定的 div。没有什么我厌倦的工作,它要么打开每个 div,要么根本不打开。
这是我的用于单击和展开的图标。
echo "<div id='" . $row['Event ID'] . "' class=\"schedcol schedspan_1_of_12 cellalign expand\"><i class=\"fa fa-arrow-down\" aria-hidden=\"true\"></i><br><span>EXPAND<span></div>";
这是我想要扩展的代码
echo "<div class=\"list\" style=\"display: none;\">";
echo "<p> " . $row['First Place'] . ", " . $row['Second Place'] . ", ". $row['Third Place'] . "</p>";
echo "</div>";
这是我的 javascript
echo "<script>";
echo "jQuery(document).ready(function(){
jQuery('#$eventid').on('click', function(event) {
jQuery('.list').toggle('show');
});
});";
echo "</script>";
解决方案
您可以添加一个event-row
类并将 id 放在一个data-id=""
属性中
echo "<div data-id='" . $row['Event ID'] . "' class=\"event-row schedcol schedspan_1_of_12 cellalign expand\"><i class=\"fa fa-arrow-down\" aria-hidden=\"true\"></i><br><span>EXPAND<span></div>";
然后在要扩展的 html 中还添加一个data-id=""
属性
echo "<div data-id='" . $row['Event ID'] . "' class=\"list\" style=\"display: none;\">";
echo "<p> " . $row['First Place'] . ", " . $row['Second Place'] . ", ". $row['Third Place'] . "</p>";
echo "</div>";
然后在循环之外你把你的脚本
echo '<script>
jQuery(".event-row").each(function(){
const $this = jQuery(this);
const id = $this.attr("data-id");
$this.find("span:contains(EXPAND)").click(function() {
jQuery(".list[data-id="+id+"]").toggle("show");
});
});
</script>';
推荐阅读
- java - 在某些textview参数中动态设置文本后创建布局的位图
- typo3 - 如何在 Typo3 的引导扩展中的“文本和图像”轮播项目的图像上叠加文本?
- git - 在拉取请求中压缩一些提交,但不是在 Bitbucket 上全部提交
- matlab - MATLAB中特定范围内的K最近邻域
- c - 您将如何使用结合了 3 个二进制输入的 switch 语句?(C)
- php - 可以在默认订单视图中隐藏已发货订单吗?
- ms-access - 如何在页脚中放置控件?
- javascript - JavaScript 循环变量范围
- php - 在 Wordpress Core 中进行更改的正确方法
- java - 创建杰克逊 ObjectMapper 实例的克隆