提问人:MartanKing 提问时间:3/19/2021 更新时间:3/19/2021 访问量:46
PHP的$this函数
$this function with PHP
问:
我有一个问题。一个包含一些信息的表,但我想做,当我单击$this tr(例如第二个)时,它向我显示数据库中的所有信息。但我不知道,我如何使用$this功能。或者你知道其他方式,我应该怎么做?我从带有变量的数据库获得的所有信息,但我不知道我如何在屏幕上的 JS 模态框中显示。谢谢
<?php
$i = 0;
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 myBtn" id="'.$i.'">
<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>';
$i++;
echo $i;
}
echo ' </table> ';
?>
<script>
$(document).ready(function(){
$(".trX").click(function(){
$(this).$("#panel").slideToggle("slow");
});
});
var modal = document.getElementById("myModal");
var btn = document.getElementById("<?php echo $i ?>");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
</script>
答:
0赞
jpneey
3/19/2021
#1
使用类而不是 Id。 为您的 s 添加一个通用选择器,然后在其上附加一个事件侦听器。您还可以添加有关元素属性的详细信息,以便使用它。tr
data-*
TR:
<tr class="trX" data-id="<?php echo $someVar; ?>">...</tr>
$(function(){
$('.trX').on('click', function(){
// you can now use $(this) here regardless of the tr
var dataId = $(this).data('id');
alert(dataID);
})
})
评论
0赞
MartanKing
3/20/2021
它不起作用(对我来说)。您是否请进一步描述此解决方案,或重写我的代码?谢谢
评论