我有一个表格,我需要以分页方式显示记录。
假设我有 200 条记录,我需要在每页上显示 10 条记录。我使用Paginate从Rhom获取数据。
MyModel.paginate(:page => 1, :per_page => 10)
那么如何使用 ajax 调用在不更改视图的情况下获取下一页记录。
感谢帮助。
您可以通过发送页码和页数限制来对方法进行 ajax 调用,并通过响应获取视图。
您应该使视图具有与原始视图中完全相同的设计,并且在 ajax 成功后,只需将视图替换为新视图即可。
$.get('/app/MyModel/get_new_view,
{ pageNumber: 1, // u need to set it dynamically
pageLimit: 10 }
)
.success( function ( data ) {
// Check the Responce
if(data.length != 0) {
$('.container').html(data);
}
else {
alert('Unable to get the page');
}
})
.error ( function ( data ) {
alert('Unable to get the page');
});
苏格西翁
如果你想减少编写此类代码的负担,你可以简单地获取视图中的所有记录,并使用JqueryDataTable按照你想要的方式呈现它们。
$(document).ready( function () {
$('.youTable').dataTable({
"aaSorting": [[ 1, "asc" ]],
"aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0,1 ] }]
});
});