2016-03-21 5 views
0

良い一日、 簡単な質問、私のプロジェクトに、私はCIのページネーションを使用していますのCodeIgniterのページネーションは

、それは完璧に動作 をonclickのが、私はそれにいくつかの フィルターを追加したいです。

つまり、私はそのクリックイベントを捕捉する必要があります。 私はこの

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

を使用して、既にそのクリックイベントをキャッチすることができますが、私の問題は、私はこのようなものである必要があるか、それはまだ次のページにリダイレクト

です。

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> 

I私の英語のため申し訳ありません。 これは例です(チェックされず、メモリから書き込まれます)。

お試しください:)