php - Javascript 显示/隐藏的困难

标签 php javascript

我在 php 中有一个 foreach 循环,它搜索一个目录,找到任何其他目录,然后在 javascript 中使用 hide/show,子目录名称被制作成链接,下拉以显示该特定子目录内的文件。我希望这是有道理的。我遇到的问题是,因为我使用循环来查找任何现有的子目录,所以我无法为每个子目录提供不同的 id。因此,所有链接都有第一个链接的 ID,当单击其中任何一个链接时,第一个链接总是会下拉。我需要为此使用 JQuery 吗?

<!--Code for the javascript part:-->
<?php
<script language="javascript">
    function showOrHide(){ 
        var div = document.getElementById("showOrHideDiv");
        if (div.style.display == "block"){ 
                div.style.display = "none";
        }
        else {
            div.style.display = "block";
        }
    }
</script>
?>

<!-- A subdirectory has been found and is called $subDir -->
<!-- Below is the show/hide part of my html/php code -->

<a href="javascript:showOrHide();"><?php echo $subDir;?></a>
<div id="showOrHideDiv" style="display: none">

<!-- The rest of the code that prints the files from the subdirectory -->

</div>

最佳答案

一种方法是使用计数器并使用它来改变 ID:

<a href="javascript:showOrHide(<?php echo $counter;?>);"><?php echo $subDir;?></a>
<div id="showOrHideDiv_<?php echo $counter;?>" style="display: none">

然后你的 JavaScript 发生变化:

<script language="javascript">
  function showOrHide(num){ 
    var div = document.getElementById("showOrHideDiv_" + num);
    if (div.style.display == "block"){ 
      div.style.display = "none";
    }
    else {
      div.style.display = "block";
    }
  }
</script>

关于php - Javascript 显示/隐藏的困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846018/

相关文章:

php - 使用 Laravel 5 Eloquent 查询生成器的 DISTINCT 方法

php - 按用户 ID 分组 SQL 查询

php - 将本地时间转换为 GMT

javascript - 如何使用 JavaScript 更改链接的 HREF?

javascript - NIC 和用户名验证字段

php - 分成两个变量?

php - laravel 如何在 Eloquent 中使用力指数

javascript - PHP/jQuery S3 上传不适用于带空格的文件

javascript - 使用 jquery 滚动到一个 div

javascript - 传单去除旧层