【问题标题】:CodeIgniter pagination onclickCodeIgniter 分页 onclick
【发布时间】:2016-07-07 09:53:41
【问题描述】:

美好的一天, 快速提问,

我在我的项目中使用 CI 的分页, 它工作得很好,但我想添加一些 过滤器。

即我需要捕捉它的点击事件。 虽然我可以使用它来捕捉它的点击事件

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

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

我需要的是这样的。

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

【问题讨论】:

    标签: php html codeigniter pagination


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      如果您想过滤使用 $_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>
      

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

      试试看:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-16
        • 2017-01-17
        • 2012-07-08
        • 1970-01-01
        相关资源
        最近更新 更多