window.open函数在foreach循环中仅运行一次

时间:2019-10-03 08:13:31

标签: javascript php html css

因此,我将其称为“文档”,并在单击鼠标左键时显示普通的href。但是,当我右键单击它时,它会打开一个弹出窗口。当我只有一个id时,它很好用,但是假设我选择10 [0 1 2 3 4 5 6 7 8 9],那么9将是唯一链接一次的9:EditText?testjobid = 9。链接也附加到ID = 0的“文档”上。我在做什么错了?

foreach ($AllTestResultsTestJob as $TestJob)
  {
    $testjobid    = $TestJob['TestjobId'];
    echo "<th style=''><center><a id='EditText' style='color:#000' class='links' href= 'Documentation?testjobid=".$testjobid."' target='_blank'>Documentation</th>"; 

  </center>
    </th>";
echo"
    <script>
    document.getElementById('EditText').onmousedown = function(event) {


      if (event.which == 3) {
        window.open('EditText?testjobid=".$testjobid."', 'myWindow', 'width=1000,height=390');
      }
    }
    </script>
    ";

1 个答案:

答案 0 :(得分:2)

您对多个元素使用相同的 id ='EditText',因此您应更改ID并使用其他选择器选择这些链接。

因此将链接更改为:

 echo "<th style=''><center><a id='EditText-".$testjobid."' style='color:#000' class='links' href= 'Documentation?testjobid=".$testjobid."' target='_blank'>Documentation</th>";

并将您的事件更改为:

echo"
    <script>
    document.getElementById('EditText-".$testjobid."').onmousedown = function(event) {


      if (event.which == 3) {
        window.open('EditText?testjobid=".$testjobid."', 'myWindow', 'width=1000,height=390');
      }
    }
    </script>
    ";