jQuery dataTable 页面变化跳转到首页

在使用jQuery DataTables时,作者遇到了在数量变更时不自动切换到第一页的问题。通过在`fnDrawCallback`中检查并手动调用`fnPageChange`实现了此功能,虽然方法简单但有效。博客探讨了这一解决方案,并邀请读者访问作者的博客获取更多信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于最近的也业务原因,又开始使用 jQuery,jQuery 的组件虽然丰富,但是感觉不太协调,各管各的,配置起来也比较麻烦,这里先说个遇到的问题


业务场景是这样的,需要在页面显示数量变更的时候自动切换到第一页,但是如果是默认的配置不会有这样的功能。


$(document).ready(function () {
    $('#example').dataTable({
        ajax() {
            // 要前往的页码
            let cuttPageParam = Math.ceil(data.start / data.length) + 1;
            if (currPageSize !== data.length) {
                // 当前 pageSize 与期望不符
                // pageSize 变化
                // 查询用参数初始化
                pageChange = true;
                currPageSize = data.length;
                data.start = 1;
                currPageParam = 1;
            }
            let param = {
                // 使用一个动态的 pageSize
                currPage: currPageParam,
                pageNum: data.length,
            }
            $.ajax({
                ...
            })
        }
        ...
        // 当表格重绘就会调用这个回调
        fnDrawCallback(data) {
            if (pageChange) {
                // 判断确实存在 pageSize 变化
                pageChange = false;
                oTable.fnPageChange(0);
            }
        }
    });
});

虽然是个笨办法,但是确实解决了问题。不知道有没有更好的解决方案。


欢迎来我的博客
zhyib.gitee.io
zhyib.github.io

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值