2016-03-21 50 views
0

好日子, 快速的问题,笨分页的onclick

我使用CI的分页到我的项目, 它完美的作品,但我想补充一些关于它的 过滤器。

即我需要赶上它的点击事件。 虽然我可以用这个

$("ul.pagination > li a[href]").click(function(e){ 
     loadingStart(); 
}); 

我的问题是,它仍然重定向到下一个页面,

我需要的就是这样的事情已经赶上它的Click事件。

if(myVar == 0) { 
     //do not redirect 
} else { 
     //redirect. 
} 

回答

1

使用e.preventDefault();然后执行你的自定义函数

+0

问题是,它不能正常工作。 :( –

0

如果你想要使用$ _GET ...的分页过滤器...在js中没有重定向(你不能撤消等)。

我告诉你我是怎么做的:

控制器:

/** 
Example list 
**/ 
public function index() 
{ 
    $page = ($this->input->get('page') AND $this->input->get('page')>1)?(intval($this->input->get('page'))-1)*9:1; #9 item for page 

    #where if isset($_GET) 
    $where = array(); 
    if($this->input->get('city')) { 
    $where['users.city'] = $this->input->get('city'); 
    } 
    if($this->input->get('street')) { 
    $where['users.street'] = $this->input->get('street'); 
    } 
    #load model 
    $this->load->model('users_m'); 
    $view_data['users'] = $this->users_m->GetAll($where,$page,array('users.register_date'=>'DESC'))->result(); 
    //pagination library 
    $this->load->library('pagination'); 
    $config['base_url'] = site_url('/users'); 
    $config['total_rows'] = $this->users_m->GetAll($where,0)->num_rows(); 
    $config['per_page'] = 9; 
    $config['full_tag_open'] = "<ul class='pagination'>"; 
    $config['full_tag_close'] ="</ul>"; 
    $config['num_tag_open'] = '<li>'; 
    $config['num_tag_close'] = '</li>'; 
    $config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>"; 
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>"; 
    $config['next_tag_open'] = "<li>"; 
    $config['next_tagl_close'] = "</li>"; 
    $config['prev_tag_open'] = "<li>"; 
    $config['prev_tagl_close'] = "</li>"; 
    $config['first_tag_open'] = "<li>"; 
    $config['first_tagl_close'] = "</li>"; 
    $config['last_tag_open'] = "<li>"; 
    $config['page_query_string'] = TRUE; 
    $config['query_string_segment'] = 'page'; 
    $config['reuse_query_string'] = TRUE; 
    $config['use_page_numbers'] = true; 
    $config['last_tagl_close'] = "</li>"; 
    $this->pagination->initialize($config); 
    //variable to template 
    $view_data['pagination'] = $this->pagination; 

    $this->load->view('/users/index',$view_data); 
} 

型号:users_m

/** 
* Get all users example 
**/ 
public function GetAll($where=array(),$page=1,$order_by=array(),$limit=9) 
{ 

    $this->db->select('users.*'); 
    #order by 
    if(count($order_by)>0) 
    { 
    foreach($order_by as $key=>$value) 
    { 
     $this->db->order_by($key,$value); 
    } 
    } 
    $this->db->where($where); 
    #show all (for pagination calculate) 
    if($page==0) return $this->db->get_where('users',$where); 
    #show single page 
    return $this->db->get_where('users',$where,$limit,(($page==1)?$page-1:$page)); 
} 

,并查看:

<div id="search_bar"> 
<?php echo form_open(site_url('/users'),array('class'=>'form-inline','method'=>'get'));?> 
<div class="form-group col-lg-2 col-md-4 col-sm-4"> 
    <select name="type" class="form-control"> 
    <option value="" disabled="disabled" selected="selected" >City</option> 
    <option value="1" <?php if(set_value('city')==1) echo 'selected';?>>London</option> 
    <option value="2" <?php if(set_value('city')==2) echo 'selected';?>>Warsaw</option> 
    </select> 
</div> 
<button type="submit" class="btn btn-primary" style="margin-top:-10px;">Search</button> 
<?php echo form_close();?> 
</div> 
<hr/> 
<div id="grid-user" class="row"> 
    <table> 
    <tbody> 
     <?php foreach($users as $user):?> 
     <tr> 
      <td><?php echo $user->id;?></td> 
      <td><?php echo $user->firstname;?></td> 
      <td><?php echo $user->lastname;?></td> 
      <td><?php echo date("d.m.Y",strtotime($user->register_date));?></td> 
     </tr> 
     <?php endforeach;?> 
    </tbody> 
    </table> 
</div> 
<div class="row"> 
    <div class="col-lg-12"> 
    <div style="float:right;"><?php echo $pagination->create_links();?></div> 
    </div> 
</div> 

我对不起我的英语。 这是示例(未检查,从内存写入)。

试一试:)