Php Javascript显示/隐藏的困难
我在php中有一个foreach循环,它搜索一个目录,找到任何其他目录,然后在javascript中使用hide/show,子目录名称被制作成链接,下拉显示该特定子目录中的文件。我希望这是有道理的。我的问题是,因为我使用循环查找任何现有子目录,所以我无法为每个子目录提供不同的id。因此,所有链接都具有第一个链接的id,当单击其中任何一个链接时,第一个链接总是会掉下来。我需要为此使用JQuery吗Php Javascript显示/隐藏的困难,php,javascript,Php,Javascript,我在php中有一个foreach循环,它搜索一个目录,找到任何其他目录,然后在javascript中使用hide/show,子目录名称被制作成链接,下拉显示该特定子目录中的文件。我希望这是有道理的。我的问题是,因为我使用循环查找任何现有子目录,所以我无法为每个子目录提供不同的id。因此,所有链接都具有第一个链接的id,当单击其中任何一个链接时,第一个链接总是会掉下来。我需要为此使用JQuery吗 <!--Code for the javascript part:--> <?ph
<!--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">
为什么在脚本
标记周围有
?这不是有效的PHP,它是HTML!删除
。你不需要为此使用jQuery,但你必须提供不同的ID,不管是否使用jQuery。+1个好答案(以及我的答案中的疏忽:D)
<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>