2

在此处输入图像描述

我想在灯箱中显示点击红色圆圈图像的相关数据,但是当我点击它时,它总是在表中第一条记录的灯箱中显示数据我想显示点击的关注记录,我的代码在 JavaScript 中我有写下这几行代码

 <script>
 function manageLightbox(visibility,id) {
 document.getElementById('overlay').style.display = visibility;
 document.getElementById('content').style.display = visibility;
 }
 </script>

我在我的 html 中调用了这个函数

<a href="#"><img src="images/core/icon16/zoom.png" title="View" onClick="return manageLightbox('block','<?php echo $res['id']?>');" /></a>

我的灯箱的html就在这里

<div id="content" class="content">
<a href = "javascript:void(0)" onClick="return manageLightbox('none')">
<img  src="images/images1.jpeg" style="width:25px; height:25px; float:right"/></a>
<br/>
<center>
    <table>
        <tr>
           <td>Product_ID</td>
           <td><input type="text" name="product_id" value="<?php echo $row['id']; ?>"/></td>
        </tr>
        <tr>
            <td>Name</td>
            <td><input type="text" name="name" value="<?php echo $row['name']; ?>"/></td>
        </tr>
      //and all other fields in light box ....
    </table>
</center>
</div>
<div id="overlay" class="overlay" onClick="return manageLightbox("")></div>
4

1 回答 1

1

首先,您在通话中使用了 $res,而您认为 $row 可能是错误的名称?二、你用AJAX吗?使用 Jquery,您可以轻松地进行 AJAX 调用并将数据放入您想要的位置。所以:使用 $res["id"] 作为您想要的数据的数据,(例如返回表格)并将其包含在您的 div 内容中。

您只看到第一个的原因是因为您分配了多个具有相同名称的 div,javascript 将返回具有给定名称的第一个元素。通过使用 AJAX,您可以拨打电话,信息将包含在您查看的唯一 div“内容”中。

例子:

<script>
$(".link_zoom").click(function(){ //add class to a href: class='link_zoom', when click, trigger event
   $.ajax({
      type: 'POST'
      url: "someaction.do.php",
      data: "id=" + $(this).attr("id"), //add to the a href: id='<?php echo $res["id"]; ?>'
      dataType: "html",
      success: function(html) 
      { 
        $(".content").html(html); //will add the html to the content div
      }
   });
});
</script>
于 2013-02-28T08:12:52.573 回答