我正在尝试将此处找到的无限分页jquery插件(https://github.com/jney/jquery.pageless)实现到我的codeigniter项目中。
我输入的jquery代码与演示页面上的whats相同
$('#results').pageless({ totalPages: 10
, url: '/theurl/index'
, loaderMsg: 'Loading more results'
});
我在codeigniter控制器中的代码如下
$config['base_url'] = base_url() . 'theurl/index';
$config['total_rows'] = $this->model->record_count();
$config['per_page'] = 20;
$config['uri_segment'] = 3;
// Init the config
$this->pagination->initialize( $config );
// Create pagination
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['results'] = $this->onyafeet->fetch_results($config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
// Load the view and pass through all the data
$this->load->view('theurl/index', $data);
当我运行代码并到达页面底部时,它确实有效,但它也会将输入页面加载到它为结果创建的新div中。
非常感谢任何帮助。
干杯
答案 0 :(得分:2)
也许您应该将结果加载到局部视图中,否则您将再次加载整个页面。创建部分视图以加载所有数据,然后将部分视图加载到主页面中:
$config['base_url'] = base_url() . 'theurl/index';
$config['total_rows'] = $this->model->record_count();
$config['per_page'] = 20;
$config['uri_segment'] = 3;
// Init the config
$this->pagination->initialize( $config );
// Create pagination
$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data['results'] = $this->onyafeet->fetch_results($config['per_page'], $page);
$data['links'] = $this->pagination->create_links();
// AJAX load:
if ($this->input->is_ajax_request) {
$this->load->view('theurl/partial/ajax_partial',$data);
}
else {
// Load the view and pass through all the data
$this->load->view('theurl/index', $data);
}
我认为使用这种方法应该有效,部分视图必须只有你想要显示的正确部分,div包含你想要异步加载的所有内容。