CodeIgniter / jQuery - 分页 - 无尽的分页

时间:2012-10-23 07:16:37

标签: php jquery codeigniter

我正在尝试将此处找到的无限分页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中。

非常感谢任何帮助。

干杯

1 个答案:

答案 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包含你想要异步加载的所有内容。