Laravel一个页面里有多个分页并用jQuery pagination.js实现

 我来答
龙氏风采
2017-11-18 · 知道合伙人互联网行家
龙氏风采
知道合伙人互联网行家
采纳数:5849 获赞数:12817
从事互联网运营推广,5年以上互联网运营推广经验,丰富的实战经

向TA提问 私信TA
展开全部
Laravel一个页面里有多个分页并用jQuery pagination.js实现
[javascript] view plain copy
<!-- JQUERY分页 -->
<script src="{{asset('lib/js/jquery.pagination.js')}}"></script> //引入该文件前别忘了引入JQUERY库
<script>
$(function(){
//这是一个非常简单的demo实例,让列表元素分页显示,我们一个页面里既有老师,又有学生,分别分页,还要换行
//回调函数的作用是显示对应分页的列表项内容
//回调函数在用户每次点击分页链接的时候执行
//参数page_index{int整型}表示当前的索引页
var initPagination = function() {
// var num_entries = $("#hiddenresult div.result").length;
// 创建分页
var num_entries = $(".teacher").length; //这个是总条数,所以把生成的teacher类的tr全统计一下
$("#teacher_page").pagination(num_entries, {
num_edge_entries: 1, //边缘页数
num_display_entries: 4, //主体页数
callback: pageselectCallback,
items_per_page:10, //每页显示项
prev_text:"上页",
next_text:"下页",
});
var num2 = $(".student").length;
$("#student_page").pagination(num2, {
num_edge_entries: 1, //边缘页数
num_display_entries: 4, //主体页数
callback: stuPageselectCallback,
items_per_page:10, //每页显示项
prev_text:"上页",
next_text:"下页",
});
}();
function pageselectCallback(page_index,jq){ //回调函数,page_index是当前页的页码,第一页是0,jq是页面那个分页的条条容器
var num_entries = $(".teacher").length; //总条数
var per_page = 10; //每页显示
var max_elem = Math.min((page_index+1)*per_page,num_entries); //每页的最大值
// 获取加载元素
$('.teacher_tr').hide(); //先把原来输出的隐藏
$('.teacher_tr_new1').empty(); //清空第一行,我们要按照两行,每行5个输出
$('.teacher_tr_new2').empty(); //清空第二行
var i = 0;
for(var j=page_index*per_page;j<max_elem;j++){ //每页执行这个循环,因为是回调函数,所以换一次页执行一次
if(i>=0 && i<Math.ceil(per_page/2)){ //如果这样就输出到第一行
$('.teacher_tr_new1').append("<td>"+$(".teacher:eq("+j+")").html()+"</td>");
}else if(i>=Math.ceil(per_page/2) && i<per_page){ //输出到第二行
$('.teacher_tr_new2').append("<td>"+$(".teacher:eq("+j+")").html()+"</td>");
}
i++;
if(i == per_page){ //用I控制是将内容填充到teacher_tr_new1还是2,10是每页显示条数
i = 0;
}
}
console.log();
//JQ代表页面装载的容器pagi1,pagi2之类的
return false;
}
function stuPageselectCallback(page_index,jq){ //学生的分页
var num_entries = $(".student").length;
var per_page = 10;
var max_elem = Math.min((page_index+1)*per_page,num_entries);
// 获取加载元素
// $(jq).prev().hide();
// $(jq).prev().prev().empty();
$('.student_tr').hide();
$('.student_tr_new1').empty();
$('.student_tr_new2').empty();
var i = 0;
for(var j=page_index*per_page;j<max_elem;j++){
if(i>=0 && i<Math.ceil(per_page/2)){
$('.student_tr_new1').append("<td>"+$(".student:eq("+j+")").html()+"</td>");
}else if(i>=Math.ceil(per_page/2) && i<per_page){
$('.student_tr_new2').append("<td>"+$(".student:eq("+j+")").html()+"</td>");
}
i++;
if(i == per_page){
i = 0;
}
}
console.log();
//JQ代表页面装载的容器pagi1,pagi2之类的
return false;
}
});
</script>
<!-- JQUERY分页结束 -->
下面是模板:
[html] view plain copy
<table>
<tr class='teacher_tr'>
<?php $i=1; ?>
@foreach($teachers as $t)
<td class='teacher'>
<a href="{{URL('myschoolmobileview/jiaoshi/'.$t->id)}}" target='_blank'>{{OfficeConvert($t->office_id)}}:{{$t->name}}</a>
<br>
<img src="{{URL($t->protrait)}}" alt="" width='180' height='250'>
</td>
<?php
if($i%5==0){
echo "</tr>";
echo "<tr class='teacher_tr'>";
}
$i++;
?>
@endforeach
</table>
该班的老师:
<table class='table'>
<tr class='teacher_tr_new1'> //第一行
</tr>
<tr class='teacher_tr_new2'> //第二行
</tr>
<tr>
<td><div id='teacher_page' class='pagination'></div></td> //这里就是我所说的那个容器jq
</tr >
</table>
<!-- 老师结束 -->
<!-- 学生开始 -->
<table>
<tr class='student_tr'>
<?php $i=1; ?>
@foreach($students as $s)
<td class='student'>
{{StudentRoleConvert($s->role_id)}}:{{$s->name}}
<br>
<img src="{{URL($s->header_img)}}" alt="" width='180' height='250'>
</td>
<?php
if($i%5==0){
echo "</tr >";
echo "<tr class='student_tr'>";
}
$i++;
?>
@endforeach
</table>
该班的学生:
<table class='table'>
<tr class='student_tr_new1'>
</tr>
<tr class='student_tr_new2'>
</tr>
<tr>
<td><div id='student_page' class='pagination'></div></td>
</tr >
</table>
最后还要注意下就是,往页面里输出的结果太多的话可能会卡,因为原理就是把别的隐藏,只显示你想要的
ST取个名字真难
2016-09-06
知道答主
回答量:9
采纳率:0%
帮助的人:2.6万
展开全部
laravel自带有分页
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式