php 循环的 Javascript 函数

标签 javascript php getelementbyid

我有这样的情况:

<script type="text/javascript">
function myFunction() {
    var x = document.getElementById("commentDIV");
    if (x.style.display === "none") {
        x.style.display = "block";
    } else {
        x.style.display = "none";
    }
}
</script>

和 php 代码

<?php
echo "<table><tr  onclick='myFunction()'><td>Row A1</td></tr>"; //A1 row from my table
echo "<tr><td><div id='commentDIV' style='display:none'> Row B1</div></td></tr></table>"; // the B1 row show after click on the A1
?>

当我单击第一行第二个外观时,一切正常。

在这种情况下如何使用/修改我的 javascript 函数?

<?php
    $x=0;
    while($x<10){
        echo "<table><tr  onclick='myFunction()'><td>Row A$x</td></tr>"; //Ax row from my table
        echo "<tr><td><div id='commentDIV' style='display:none'> Row B$x</div></td></tr></table>"; // the Bx row must show after click on the Ax
        $x++;
    }
?>

请帮助并拯救我的日子! 非常感谢!

最佳答案

问题是您对所有 Div 使用相同的 id“commentDIV”,因此您应该更改循环和函数。

  1. $x 添加到最初称为 commentDIV 的 div id
  2. 更改 myFunction 调用以包含 $x 数字
  3. 将 id 参数添加到 myFunction 定义
  4. 将传递的 ID 附加到 getElementById

像这样:

<?php 
$x=0;
while($x<10){
  echo "<table><tr  onclick='myFunction($x)'><td>Row A$x</td></tr>";
  //                                    ^^--- 2. add $x
  echo "<tr><td><div id='commentDIV_$x' style='display:none'> Row B$x</div></td></tr></table>";
  //                               ^^^--- 1. add $x
$x++;}
?>

JavaScript 代码更改为:

<script type="text/javascript">
    function myFunction(id) {
         //             ^^--- 3. add id
         var x = document.getElementById("commentDIV_" + id);
         //                                         ^ ^^^^^--- 4. append id
         if (x.style.display === "none") {
            x.style.display = "block";
         } else {
            x.style.display = "none";
         }
    }
</script>

关于php 循环的 Javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51367026/

相关文章:

javascript - 选择 AngularJs 中的所有过滤对象

javascript - 使用 javascript 和 c# 打印 pos 收据

php - Apache 重写规则和 POST 数据

php - Wordpress 为前端主题 functions.php 包含 jQuery UI Checkboxradio

javascript - 选择下拉值始终指向 0 索引

来自 1 个按钮的 javascript 2 url

php - ajax formdata append 不适用于键值样式

php - Nginx 缓存 404

javascript - 我从 JAVA 的 getElementById 收到错误消息

javascript - 将 HTML 元素作为参数传递给函数与使用 getElementById 获取相同元素