求助:如何隐藏表格内的Update与Disable按钮?附现有PHP代码
解决方法
看你的代码,你已经在表头部分用$hide变量控制了Update和Delete列的显示,但表格数据行里的按钮列还没加上对应的判断逻辑——这就是按钮一直显示的原因!
你只需要把每一行里的Update和Disable按钮所在的<td>标签,也用同样的$hide条件包裹起来就行,修改后的完整表格代码如下:
<table id="example1" class="table table-bordered table-striped table-sm" style=" overflow: auto; "> <tr> <th>Dispatch Challan No</th> <th>Date</th> <th>From</th> <?php $hide = 'OFF'; if($hide == 'ON') { ?> <th>Update</th> <th>Delete</th> <?php } ?> </tr> <?php foreach($dispatch as $dis){?> <tr> <td><?php echo $dis->disp_ch_no;?></td> <td><?php echo date("d-m-Y", strtotime($dis->disp_ch_date));?></td> <td><?php echo $dis->from_branch_name;?></td> <?php if($hide == 'ON') { ?> <td><a class="btn btn-success btn-sm" href="<?php echo base_url(); ?>booking/dispatch_challan/DispatchChallanController/updateDispatchChallanPage?disp_id=<?php echo $dis->disp_id; ?>"><i class="fa fa-pencil" > Update</i></a></td> <td><a class="btn btn-danger btn-sm" onclick="delete_dispatch('<?php echo $dis->disp_id; ?>');" title="Click here to delete your Dispatch record"><i class="fa fa-trash" style="color: #fff;"> Disable </i> </a> </td> <?php } ?> </tr> <?php }?> </table>
原理说明
当$hide的值设为'ON'时,PHP会输出表头的Update/Delete列,同时输出每一行对应的按钮列;当$hide设为'OFF'时,这部分代码会被跳过,完全不会生成对应的HTML元素,也就实现了隐藏按钮的效果。
额外小建议
如果以后需要在前端动态切换按钮的显示/隐藏(比如不需要刷新页面),可以利用Bootstrap的d-none类来控制:
// 表头部分 <th class="<?php echo $hide == 'OFF' ? 'd-none' : ''; ?>">Update</th> <th class="<?php echo $hide == 'OFF' ? 'd-none' : ''; ?>">Delete</th> // 数据行部分 <td class="<?php echo $hide == 'OFF' ? 'd-none' : ''; ?>">...</td> <td class="<?php echo $hide == 'OFF' ? 'd-none' : ''; ?>">...</td>
这种方式会保留HTML元素,但通过CSS隐藏,适合需要前端交互切换的场景。
内容的提问来源于stack exchange,提问作者Khan Muntazar
相关产品推荐
相关产品推荐

