2017-12-29 25 views
0

フィルタ検索と表示レコードをページに作成しましたが、フィルタリングされたデータをページに追加したいのですが、コントローラのページネーションについて私が2番目の番号ページをクリックするたびに、私はページング番号をクリックした後にページをリフレッシュしたくない。codeigniterのフィルタ検索にajaxページネーションを適用する方法

私のコントローラコードは、私はコードが

$(".cl").live("click", function() { 
     var val = $('input[type=checkbox]:checked').map(function(_, el) { 
     return $(el).val(); 
    }).get(); 
     var cat = $("#sub_cat").val(); 
      $.ajax({ 
      type: "POST", 
      url: '<?php echo base_url();?>star/filtersearch', 
      data: {search: val, cat: cat}, 
      success:function(data){ 
      $("#prd").html(data); 
      } 
     }); 
}); 

を下回っていること、AJAX応答してデータを渡していると私は、私はこの問題を解決することができますどのようにこのenter image description here

のような出力を得る

public function filtersearch() 
    { 
     $proSearch = implode(",", $_POST['search']) ; 
     $cat = $_POST['cat']; 
     log_message('error', 'post value is '.$proSearch); 
     log_message('error', 'subcat '.$cat); 
     $config = array(); 
     $config['page_query_string'] = TRUE; 
     $config['query_string_segment'] = 'offset'; 
     $config["base_url"] = base_url() . "products"; 
     if (!is_null($cat)) 
     $config['base_url'] = $config['base_url'].'/'.$cat; 

     $config['base_url'] = $config['base_url'].'/?'; 

     $config["total_rows"] = $this->Star_model->getfilterCount($proSearch,$cat); 
     $config["per_page"] = 1; 
     $config["uri_segment"] = 4; 

     $config['full_tag_open'] = '<ul class="pagination">'; 
     $config['full_tag_close'] = '</ul>'; 
     $config['first_link'] = false; 
     $config['last_link'] = false; 
     $config['first_tag_open'] = '<li>'; 
     $config['first_tag_close'] = '</li>'; 
     $config['prev_link'] = '«'; 
     $config['prev_tag_open'] = '<li class="prev">'; 
     $config['prev_tag_close'] = '</li>'; 
     $config['next_link'] = '»'; 
     $config['next_tag_open'] = '<li>'; 
     $config['next_tag_close'] = '</li>'; 
     $config['last_tag_open'] = '<li>'; 
     $config['last_tag_close'] = '</li>'; 
     $config['cur_tag_open'] = '<li class="active"><a href="#">'; 
     $config['cur_tag_close'] = '</a></li>'; 
     $config['num_tag_open'] = '<li>'; 
     $config['num_tag_close'] = '</li>'; 

     //$this->pagination->initialize($config); 
     $this->pagination->initialize($config); 


     $offset = $this->input->get('offset'); 

     $data['search'] = $this->Star_model->getfilterSearch($proSearch,$cat,$config["per_page"], $offset); 
$output = null; 
      foreach ($data['search'] as $productrows) 
      { 

       $output .= "<li><a href='#'> 
        <img src='../uploads/products/$productrows->featured_img' /></a> 
       <div class='head'>$productrows->prod_name<br /> 
        <img src='../starassets/images/rupee.jpg'/> 
        <span>$productrows->sale_price</span> 
       </div> 
      </li>"; 
      } 
echo $this->pagination->create_links(); 
      echo $output; 
      } 

を下回っています?

+0

jqueryのでは廃止されて、あなたは '$( "")を使用する必要があります。'( 'クリック')上 – Phiter

答えて

0

クリックイベントを渡してから、デフォルトのリンクをキャンセルする必要があります。ライブ

https://api.jquery.com/event.preventdefault/

// pass event to click function 
$(".cl").live("click", function (event) { 

    // prevent link being followed. 
    event.preventDefault(); 

    var val = $('input[type=checkbox]:checked').map(function(_, el) { 
    return $(el).val(); 
    }).get(); 
    var cat = $("#sub_cat").val(); 
     $.ajax({ 
     type: "POST", 
     url: '<?php echo base_url();?>star/filtersearch', 
     data: {search: val, cat: cat}, 
     success:function(data){ 
     $("#prd").html(data); 
     } 
    }); 
}); 
関連する問題