Javascript 在模式窗口中的页面上显示单击的值(链接)以及索引值

Javascript 在模式窗口中的页面上显示单击的值(链接)以及索引值,javascript,php,html,foreach,Javascript,Php,Html,Foreach,我有一个页面,表格中有一些值,这些值是从.csv文件中读取的 展示。值随时间变化(动态),因此我在PHP中使用for循环,文件大小作为循环的限制,并显示值,每个值都是单击时显示模式窗口的链接 这是我的代码: <?php if (($csv = fopen("csv.csv", "r")) !== FALSE) { while (($data = fgetcsv($csv, 1000, ",")) !== FA

我有一个页面,表格中有一些值,这些值是从
.csv
文件中读取的 展示。值随时间变化(动态),因此我在PHP中使用for循环,文件大小作为循环的限制,并显示值,每个值都是单击时显示模式窗口的链接

这是我的代码:

<?php


if (($csv = fopen("csv.csv", "r")) !== FALSE) 
{
        while (($data = fgetcsv($csv, 1000, ",")) !== FALSE) 
        {
            
            $f = $data; 

        }
        fclose($csv);
}


$array=array();
for($i=0;$i<sizeof($f);$i++)
{
    $array[$i]=$f[$i];


    echo '<table ><tr><td style="  height:25px; vertical-align: middle;"><a href="#" onclick="overlay()"><input type="button" value="'.$array[$i].'"></a></td></tr></table>

<div id="overlay">
    <div>
        
     <table style="height: 37px; ">
          <tbody>
            <tr>
              <td style="text-align: left;">color:</td>
              <td  align="left"><input name="color" value="'.$array[$i].'"></td>
            </tr>
              

             <tr>
              <td style=" text-align: left;">index:</td>
              <td  align="left"><input name="index" value="'.$i.'"></td>
            </tr>       

             <tr>
              <td style=" text-align: left;">brightness:</td>
              <td  align="left"><input name="brightness"></td>
            </tr>
          </tbody>
        </table>
       
  
<br><input value="Submit" type="submit"><a href="#" onclick="overlay()"><button >X</button></a>
</div>
    </div>';}?>

模式窗口应包含相应的单击颜色、索引和亮度字段

我有一个css用于覆盖,字段最初是隐藏的

我的csv文件是:

绿色,红色,白色,蓝色,黄色

单击具有这些值的按钮(链接)时,它将显示一个模式窗口,但它始终显示索引值为0的所有按钮的第一个值(始终为绿色)。我在哪里做错了吗?我应该使用一些JavaScript来获得这个功能吗


(我不应该在任何地方使用jQuery)

您只能在页面上使用一个ID,因为我看到您有很多ID=“overlay”,这就是它打开第一个ID的原因


将您的id设置为overlay+Index,并将此名称作为参数路径设置到onclick=“overlay(overlay+Index)

页面上只能使用一个id,因为我看到您有很多id=“overlay”,这就是它打开第一个id的原因


将您的id设置为overlay+Index,并将此名称作为参数路径设置到onclick=“overlay(overlay+Index)

页面上只能使用一个id,因为我看到您有很多id=“overlay”,这就是它打开第一个id的原因


将您的id设置为overlay+Index,并将此名称作为参数路径设置到onclick=“overlay(overlay+Index)

页面上只能使用一个id,因为我看到您有很多id=“overlay”,这就是它打开第一个id的原因


将您的id设置为overlay+Index,并将此名称作为参数设置到您的onclick=“overlay(overlay+Index)

似乎是合适的解决方案,但我有一个疑问。。我应该在覆盖css中做什么更改?就像这样。。。覆盖{visibility:hidden;position:absolute;z-index:1000;}和覆盖div{width:530px;margin:100px auto;}这个div必须是这样的:
所以你可以这样做:
.overlay{…}
输入将是:
onclick=“overlay(overlaySomeIndex)
和函数:
函数覆盖(showId){el=document.getElementById(showId);
似乎是合适的解决方案,但我有一个疑问..我应该在覆盖css中做什么更改?它是这样的..覆盖{可见性:隐藏;位置:绝对;z索引:1000;}和overlay div{width:530px;margin:100px auto;}这个div必须是这样的:
所以你可以这样:
.overlay{…}
输入将是:
onclick=“overlay(overlaySomeIndex)
和function:
function overlay(showId){el=document.getElementById(showId);
似乎是合适的解决方案,但我有一个疑问..我应该在覆盖css中做什么更改?它是这样的…覆盖{可见性:隐藏;位置:绝对;z索引:1000;}和覆盖div{width:530px;margin:100px auto;}这个div必须是这样的:
所以你可以这样:
.overlay{…}
输入将是:
onclick=“overlay(overlaySomeIndex)
和函数:
函数overlay(showId){el=document.getElementById(showId)
似乎是合适的解决方案,但我有一个疑问..我应该在覆盖css中做什么更改?它是这样的…覆盖{可见性:隐藏;位置:绝对;z索引:1000;}和覆盖div{宽度:530px;边距:100px自动;}这个div必须是这样的:
所以你可以这样做:
.overlay{…}
输入将是:
onclick=“overlay(overlaySomeIndex)
和函数:
函数overlay(showId){el=document.getElementById(showId);