【发布时间】:2021-06-14 08:16:15
【问题描述】:
我有一个包含数据库信息的表格。有 ID、姓名、主题和日期。当我单击表格的一行 (tr) 时,我想显示更多数据,例如消息、操作系统、IP 等。我找到了解决方案,但它只在第一个 tr 上工作,而不是全部。
这是我的代码:
while($row = $result->fetch_assoc())
{
$id=$row['ID'];
$name=$row['Name'];
$mail=$row['Email'];
$subject=$row['Subject'];
$message=$row['Message'];
$date=$row['Date'];
$ip=$row['IP'];
$device=$row['Device'];
$os=$row['OS'];
$browser=$row['Browser'];
$finish=$row['Finish'];
echo
'<tr class="trX" id="flip">
<td class="tdX">' . $id . '</td>
<td class="tdX">' . $name . '</td>
<td class="tdX">' . $subject . '</td>
<td class="tdX">' . $date . '</td>
<div id="panel">
ID:' . $id . '
Name:' . $name . '
Email:' . $mail . '
Subject:' . $subject . '
Message:' . $message . '
Date:' . $date . '
IP:' . $ip . '
Mobile:' . $device . '
OS:' . $os . '
Browser:' . $browser . '
Finish:' . $finish . '
</div>
</tr>';
}
echo ' </table> ';
和JS查询
$(document).ready(function(){
$("#flip").click(function(){
$("#panel").slideToggle("slow");
});
});
感谢提示
【问题讨论】:
-
#表示“id”,它在整个 HTML 文档中应该是唯一的。见这里stackoverflow.com/q/544010/296555。您的 JS 将无法判断您指的是哪个元素,因为您的所有行都具有相同的 ID,flip。常见的解决方案是在 click 发生时查找元素或在每一行中嵌入单独的点击处理程序。 -
我使用类。但是,如果我单击每个元素,它会以相同的 $id 显示相同的信息。所以....我在PHP中使用了flip-i,但我不能在JS中使用。或者我应该这样做:这个功能?谢谢