关于jQuery datatables的几个好用而冷门的知识点

1、datatable定义新的每页显示的行数选择下拉,直接设置如下属性:

aLengthMenu: [10, 30, 50, 100],

2、datatable点击表头排序后台接受的参数处理方式(官网上比较难查到,我这儿后台是php处理的)

$orderDatas = I('post.order');
$order = $this->getOrder($orderDatas);
/**
 * @use      [得到排序条件]
 * @User     chenxiaogang
 * @param $order
 * @return string
 */
private function getOrder($order){
    $str = '';
    foreach($order as $v) {
        switch($v['column']) {
            case '0':
                //默认
                $str = 'id asc';
                break;
            case '1':
                $str = 'id ' . $v['dir'] . ',';
                break;
            case '2':
                $str = 'createtime ' . $v['dir'] . ',';
        }
    }
    return rtrim($str, ',');
}

3、获取myDatatable.page.info()分页信息(如下,拷贝下面代码打开控制台看下你就明白了)

var myDatatable =
        $('#datatable').on('xhr.dt', function (e, settings, json, xhr) {
            //console.log(json);
            var info = myDatatable.page.info();
            console.log(info);
        }).DataTable()

4、如何查询或使用翻页操作带来的实时分页信息,代码如下:

//翻页操作如下:
myDatatable.on( 'page.dt', function () {
    var info = myDatatable.page.info();
    console.log(info);
} );

5、如何在表格加载完成后获取全部数据,可以在如下方法中可见:

$('#datatable').on('xhr.dt', function (e, settings, json, xhr) {
    console.log(json);
}).DataTable()

6、datatable刷新表格数据,分页信息不会重置【这点我知道曾经坑过很多人】

myDatatable.ajax.reload( null, false );

可用来代替 myDatatable.draw(true)【表格重绘】

7、datatable重载(第6点的扩充)(可修改datatable的参数)

var param = {'costid': checkerzi.val()};
minDatatable.settings()[0].ajax.data = param;
//minDatatable.settings()[0].ajax.url = '{:U("detail")}';
minDatatable.ajax.reload();

8、如何关闭某一列的排序,改一下colums里面字段参数属性:

{"data": "id", "bSortable": false},

9、让datatable不分页(有些功能还是有这个需求的) 前端option中:

paging:false,

而后台POST接收的length会接受到-1值,判断一下是否等于-1,来进行SQL的limit即可

转载于:https://my.oschina.net/cxgphper/blog/865904

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值