我正在表列表中显示数据库中的记录。另外,我在每行中都有一个跟踪按钮,如果有任何用户单击跟踪按钮,则会为特定用户打开一个包含详细信息的弹出窗口。
还有其他解决此问题的想法吗?
我试图使用类似这样的东西
<table>
<thead><tr><th></th></tr></thead>
<tbody>
<tr><td></td></tr>
<div style="display:none">
<table>
<thead><tr><th></th></tr></thead>
<tbody>
<tr><td></td></tr>
</tbody>
</table>
</div>
</tbody>
</table>
完整代码
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<table border="1">
<thead>
<tr>>
<th>Name</th>
<th>Products</th>
<th>Qty</th>
<th>Order Id</th>
<th>Mobile </th>
<th>Shipping address</th>
</tr>
</thead>
<tbody>
<?php $n=1;
foreach ($cust_personal as $row)
{ $encryption_id=base64_encode($this->encryption->encrypt($row->o_id));//encrpt the id
?>
<tbody>
<tr>
<td><?php echo $n;?></td>
<td><?php echo $row->c_firstname;?> <?php echo $row->c_lastname;?></td>
<td><?php echo $row->o_product_brandname;?></td>
<td><?php echo $row->o_product_qty;?></td>
<td><?php echo $row->o_order_no;?></td>
<td><?php echo $row->c_mobileno;?></td>
<td><?php echo $row->c_s_address;?></td>
<td> <a href="javascript:void(0)" class="table_icon pending" onclick="approve(this)" data-id="<?=$row->o_id;?>"> <span>Pending</span></a>
<a href="<?php echo site_url('Customer_control/get_customer_view?key='.$encryption_id)?>" class="table_icon view">View</a>
<a href="javascript:void(0)" class="table_icon archive" onclick="followup(this)" data-id="<?=$row->o_id;?>">Followup</a>
</tr>
<div id="popup-<?=$row->o_id;?>" style="display: none;" class="class="view_popup_profile">
<div class="profile_content">
<div class="profile_header clearfix">
<table border="1">
<thead><th>sub</th></thead>
<tbody><tr><td>maths</td></tr></tbody>
</table>
</div></div>
</div>
<?php } $n++; ?>
</tbody>
</table>
<script type="text/javascript">
function followup(obj)
{
var id = $(obj).data('id');
//console.log(id);
$("#popup-"+id).show();
}
</script>
</body>
</html>
这是我得到的输出。 https://colab.research.google.com/
为什么我需要一个嵌套表,因为当我添加以下代码并单击“跟进”按钮时,我会在全屏幕上看到弹出窗口。
</tr>
<div id="popup-<?=$row->o_id;?>" style="display: none;">
<!--more details here-->
</div>
</tbody>
</table>
如果我在弹出窗口中添加了一个表格以显示以下列表,则该表格不起作用。
</tr>
<div id="popup-<?=$row->o_id;?>" style="display: none;">
<table border="1">
<thead><th>sub</th></thead>
<tbody><tr><td>maths</td></tr></tbody>
</table>
</div>
</tbody>
</table>
css
.view_popup_profile {
position: fixed; /* Stay in place */
z-index: 9; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
-webkit-animation-name: fadeIn; /* Fade in the background */
-webkit-animation-duration: 0.4s;
animation-name: fadeIn;
animation-duration: 0.4s;
}
/* Modal Content */
.profile_content {
position: fixed;
top: 25%;
background-color: #fefefe;
width: 100%;
-webkit-animation-name: slideIn;
-webkit-animation-duration: 0.5s;
animation-name: slideIn;
animation-duration: 0.5s;
max-width: 922px;
margin: auto;
left: 0;
right: 0;
box-shadow: 0 0 15px rgba(0,0,0,.3);
}
/* The Close Button */
.profile_header {
padding: 1px 20px;
background-color: #fafafc;
color: white;
/* min-height: 58px; */
border-bottom: 1px solid #f7f7f7;
display: block;
width: 100%;
}
.profile_header:after {
content: '';
width: 0;
height: 0;
border-left: 17px solid transparent;
border-right: 17px solid transparent;
border-top: 16px solid #f7f7f7;
position: absolute;
}
.profile_body {
padding: 35px 50px;
}
.profile_footer {
padding: 0;
background-color: #fdfdfe;
color: #858585;
}
p{color: #000;}
/* Add Animation */
@-webkit-keyframes slideIn {
from {
top: -500px;
opacity: 0
}
to {
top:25%;
opacity: 1
}
}
@keyframes slideIn {
from {
top: -500px;
opacity: 0
}
to {
top:25%;
opacity: 1
}
}
@-webkit-keyframes fadeIn {
from {
opacity: 0
}
to {
opacity: 1
}
}
@keyframes fadeIn {
from {
opacity: 0
}
to {
opacity: 1
}
}
答案 0 :(得分:2)
您当然可以制作嵌套表。使所有内容都像常规表一样,直到td
标记为止。在其中,制作表格标签和所有内容。首先,您要做的是缩进不良(我在JSFiddle中整理过
这是表格的单元格的样子:
<td>
<table>
<thead>
<th>sub</th>
</thead>
<tbody>
<tr>
<td>maths</td>
</tr>
</tbody>
</table>
</td>
您也可以使用colspan和rowspan(其结果相似)来防止被复杂的设计所迷惑。
<tr>
<td rowspan = 2>10</td>
<td> 10 </td>
</tr>
<tr>
<th>sub</th>
</tr>
<tr>
<td>math>
</tr>
答案 1 :(得分:0)
是的,您当然可以在表中添加表,但是请记住将它们添加到<td></td>
的表单元格中。下面是参考链接,不要害怕尝试!
ref:https://www.yourhtmlsource.com/tables/nestingtables.html
(p.s ..如果您担心要在单元格中创建多余的空间,则可以在CSS中修改单元格或嵌套表的样式,例如调整边距或填充。
插件:
您可以尝试使用jquery从点击的链接中提取data
,然后从链接中删除onclick=followup(this)
将其添加到脚本中并尝试:
$(".archive").on('click',function(){
var id = $(this).data('id');
$("#popup-"+id).show();
})