单击以在弹出窗口中显示特定用户的记录

时间:2018-08-08 01:38:25

标签: javascript php html5 codeigniter-3

我正在使用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();  
}

1 个答案:

答案 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循环中删除。