使用codeigniter检索css灯箱上的每个数据

时间:2014-07-02 07:07:41

标签: javascript jquery css codeigniter lightbox

我是Codeigniter中的新用户,我遇到了将个人ID转移到灯箱的问题。

首先,我想在视图页面中使用名称检索我的所有数据。然后我想通过单击名称链接显示带有灯箱的用户的详细信息,而无需刷新页面。我想要在页面数据渲染上。

这是我的控制器:

class Welcome extends CI_Controller {

    public function index()
    {
 $this->load->model('model','',TRUE);           
 $this->load->view('header');
        $data['query'] = $this->model->retrieve_data();
        $this->load->view('home', $data);
        $this->load->view('footer');
    }
    public function retrieve_one()
    {
        $data['data'] = $this->model->retrieve_row();
        $this->load->view('result', $data); 
    }

我对我的模型感到困惑,想知道有没有办法从模型中检索灯箱中的数据?

这是我的模特:

class model extends CI_Model
{
    public function __construct()
    {
        parent:: __construct();
        $this->load->database();
    }
    public function retrieve_data()
    {
        $query = $this->db->get('cidata');
        return $query->result();
    }
    public function retrieve_row()
    {
        $this->db->where('id', $this->uri->segment(2));
        $data= $this->db->get('cidata');
        return $data->result();
    }

最后这是我的观点:
是否可以使用jquery获取数据?

<?php foreach($query as $row): ?>

<?php echo(anchor("#lights/$row->id", "$row->name<br><br>", "onclick=lighton()")); ?>


<div id="lights">

    <?php echo($row->name); ?>

<p><a id="exit" onclick=lightoff(); href="javascript:void(0);">X</a></p></div>

<?php endforeach; ?>    

注意:如果我将灯箱放入foreach,它的渲染只是第一个id,如果我把灯箱放在foreach的一侧,它只渲染我的最后一个id。

灯箱的JavaScript:

function lighton()
{
    document.getElementById("lights").style.display="block";
}
function lightoff()
{
    document.getElementById('lights').style.display='none';
}

所有代码都在我的视图页面上呈现我的用户列表。但是灯箱没有获得单独的id来呈现个人用户信息。

注意:这里如果我使用锚点:

<?php echo(anchor("welcome/retrieve_one/$row->id", "$row->name<br><br>", "onclick=lighton()")); ?>

它完美地呈现在结果页面中,但我不希望这样,因为它带有另一个带有id的页面。我希望在页面数据渲染与灯箱。怎么解决?请!

1 个答案:

答案 0 :(得分:1)

将类添加到锚点并使用隐藏显示。见下面的例子

<?php foreach($query as $row): ?>

<?php echo(anchor("#lights/$row->id", "$row->name<br><br>", array('class'=>'lights_on'))); ?>


 <div class="lights">

    <?php echo($row->name); ?>

   <p><a class="exit" href="javascript:void(0);">X</a></p>
</div>
 
$('.lights_on').click(function(){
    $(this).next().show();
});

$('.exit').click(function(){
    $(this).parent().hide();
})