我正在使用CodeIgniter,我在表格中显示所有列表,如下例所示。
Id |Name | Email | Mobileno | Action
1 |ABC | abc@gmail.com|1654789523| View Archive
2 |xyz | xyz@gmail.com|3214569874| View Archive
现在,当我单击ID为1的查看按钮时,弹出窗口将显示所有信息,但是我的问题是,我仅获得弹出窗口中的最后一个用户ID值。我的意思是它只显示ID 2的记录。
列表代码
<tbody>
<?php $n=1;
foreach ($cust_personal as $row)
{ ?>
<tr>
<td><?php echo $n;?></td>
<td><?php echo $row->id;?></td>
<td><?php echo $row->name;?></td>
<td><?php echo $row->email;?></td>
<td><?php echo $row->mobileno;?></td>
<td>
<a href="javascript:void(0)" onclick="view(this)" data-id="<?=$row->id;?>"> <span>View</span></a>
<a href="javascript:void(0)" onclick="archive(this)" data-id="<?=$row->id;?>"> <span>archive</span></a>
</td>
</tr>
<?php $n++;}?>
</tbody>
弹出代码
<div class="profile" id="profile-<?=$row->id;?>" style="display: none;">
//details list
<table></table>
</div>
js
function view(obj)
{
var id = $(obj).data('id');
$("#profile-"+id).show();
}
答案 0 :(得分:0)
您应该仅使用1个弹出div块,然后在单击“查看”按钮时,将所有信息放入弹出窗口。像这样:
<div class="profile" id="#show-profile?>" style="display: none;">
</div>
<script>
function view(obj)
{
var id = $(obj).data('id');
$("#show-profile).html(
'Id:' + obj.parent().children().first()
+ 'Name: ' + blah blah
');
$("#show-profile).show();
}
</script>
这只是一个示例,因此您可以使用这种方法来解决问题。
另外,您应该将<tbody>
从for
循环中删除。