首页 热点资讯 义务教育 高等教育 出国留学 考研考公

如何用JQuery.dataTables实现表格插件添加跳转到指定页功能

发布网友 发布时间:2022-04-25 12:39

我来回答

1个回答

热心网友 时间:2022-04-21 23:14

这个可以参考如下内容:

JQuery.dataTables表格插件添加跳转到指定页

一、解决方案

1.添加自定义工具栏,嵌入文本框


[javascript] view plain copy

 "dom": 'l<"toolbar">frtip', //自定义工具栏  

[javascript] view plain copy

//设置工具栏内容  

//l - length changing input control  

//f - filtering input  

//t - The table!  

//i - Table information summary  

//p - pagination control  

//r - processing display element  

[javascript] view plain copy

$("div.toolbar").html(' <b style="color:red">跳转第</b><input id="searchNumber"/><b style="color:red;">页</b>');  


2.监听文本框的change事件,执行插件的调转页面方法


[javascript] view plain copy

//调转到指定页面索引 ,注意大小写  

var oTable = $('#example1').dataTable();  

oTable.fnPageChange(page);  


3.插件绘制成功后,绑定文本框的值


[javascript] view plain copy

//绘制的时候触发,绑定文本框的值  

table.on('draw.dt', function (e, settings, data) {  

    var info = table.page.info();  

    //此处的page为0开始计算  

    console.info('Showing page: ' + info.page + ' of ' + info.pages);  

  

    $('#searchNumber').val(info.page + 1);  

});  


二、完整示例代码



[html] view plain copy

<table id="example1" class="table table-hover table-striped">  

    <thead>  

        <tr>  

            <th>编号</th>  

            <th>姓名</th>  

            <th>性别</th>  

            <th>生日</th>  

            <th>班级</th>  

        </tr>  

    </thead>  

</table>  

[javascript] view plain copy

$(function () {  

    //注意方法名为DataTable  

    var table = $('#example1').DataTable({  

        "dom": 'l<"toolbar">frtip', //自定义工具栏  

        "pagingType": "full_numbers",  

        lengthMenu: [3, 5, 10],  

        processing: true,//是否使用进度条  

        serverSide: true,//是否启用数据库加载  

        ajax: {  

            url: '/tableone/getlist',  

            type: 'post',  

            data: function (d) {  

                d.name = '张三';  

                /* 

                * 自定义aja参数 

                * 特别说明,此处可以重写控件的默认参数,比如分页参数 

                */  

                // d.start = 0;  

                //console.info(d);  

                //var page = $('#searchNumber').val();  

                //page = parseInt(page) || 1;  

                //d.start = (page - 1) * d.length;  

            }  

        },  

        //指定列绑定的字段  

        columns: [  

            { data: 'sno' },  

            { data: 'sname' },  

            { data: 'ssex' },  

            { data: 'sbirthday' },  

            { data: 'class' }  

        ],  

        order: [  

            [3, 'desc']  

        ]  

    });  

  

    $("div.toolbar").html('&nbsp;<b style="color:red">跳转第</b><input id="searchNumber"/><b style="color:red;">页</b>');  

  

    //绑定分页事件----在切换分页的时候触发  

    //table.on('page.dt', function () {  

    //    var info = table.page.info();  

    //    console.info('Showing page: ' + info.page + ' of ' + info.pages);  

    //});  

  

    //绘制的时候触发,绑定文本框的值  

    table.on('draw.dt', function (e, settings, data) {  

        var info = table.page.info();  

        //此处的page为0开始计算  

        console.info('Showing page: ' + info.page + ' of ' + info.pages);  

        $('#searchNumber').val(info.page + 1);  

    });  

    //监听文本框更改  

    $('#searchNumber').change(function () {  

        var page = $(this).val();  

        page = parseInt(page) || 1;  

        page = page - 1;  

  

        //调转到指定页面索引 ,注意大小写  

        var oTable = $('#example1').dataTable();  

        oTable.fnPageChange(page);  

    });  

});  

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com