layui在前台实现表格数据的排序,分页

var table;

function initlayui(){
                
                            layui.use('table', function(){
                              table = layui.table;
                              //展示已知数据
                              table.render({
                                autoSort: false,
                                elem: '#test',//
                                method:'post'
                                ,cols: [[ //标题栏
                                  {field: 'o_TIME', title: '时间',templet:"

{{layui.util.toDateString(d.o_TIME, 'yyyy-MM-dd')}}
", width: 120, sort: true},//在显示日期时对日期格式化
                                  {field: 'field1', title: '姓名', width: 80, sort: true},
                                  {field: 'field2', title: '电话', minWidth: 150, sort: true},
                                  {field: 'field3', title: '年龄', minWidth: 100, sort: true},  
                                  {field: 'field4', hide: true},     //  hide:true表示不在页面上显示该条信息,仅是赋值的作用
                                  {field: 'field5', hide: true},
                                ]]
                                
                                ,data: arr  //arr是个数组格式,接收后台返回来的数据
                                //,skin: 'line' //表格风格
                                ,even: true
                                // ,page: true ,//是否显示分页
                                 ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
                                        layout: ['limit', 'prev', 'page', 'next', 'skip'] //自定义分页布局
                                        ,curr: currp //设定初始在第 1页
                                        ,groups: 5 //只显示 1 个连续页码
                                        ,first: false //不显示首页
                                        ,last: false //不显示尾页
                                    }
                                ,done: function(res, curr, count){
                                    //接口回调,处理一些和表格相关的辅助事项
                                    
                                }    
                              });
                              
                              //监听行单击事件(双击事件为:rowDouble)
                              table.on('sort(demo)', function(obj){
                                  console.log(obj.field); //当前排序的字段名
                                  console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
                                  console.log(this); //当前排序的 th 对象
                                  
                                  orderbysj=obj.field;
                                  descsj=obj.type;
                                  //尽管我们的 table 自带排序功能,但并没有请求服务端。
                                  //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
                                  /* table.reload('test', { //testTable是表格容器id
                                    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
                                    ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
                                      field: obj.field //排序字段
                                      ,order: obj.type //排序方式
                                    }
                                  }); */
                                  
                                  initlayui();//后台获取数据接口--------根据监听到的排序字段从后台去获取排序数据,然后显示于页面上
                              });
                            });
                            
                        },
                        });
                
            }

你可能感兴趣的:(layui)