Javascript 无法更改数据表中的页面

Javascript 无法更改数据表中的页面,javascript,jquery,datatables,Javascript,Jquery,Datatables,我的数据表有问题 问题是:我不能改变网页后,日化 我希望的工作流程是: 用户在第3页选择单选按钮 我保存了这台收音机的id和当前页面 我破坏了数据表 当用户重新进入datatable重新创建datatable时,我希望用户直接进入第2页 这是我的代码: $('.js_select').click(function (e) { var oTable = $("#id").DataTable({ ...... }); $(

我的数据表有问题

问题是:我不能改变网页后,日化

我希望的工作流程是:

用户在第3页选择单选按钮

我保存了这台收音机的id和当前页面

我破坏了数据表

当用户重新进入datatable重新创建datatable时,我希望用户直接进入第2页

这是我的代码:

    $('.js_select').click(function (e) {
        var oTable = $("#id").DataTable({
        ......
        });


         $(document).on("keypress", function (e) {

            oTable.fnPageChange(2);

         });

    });
p.S.2是测试功能的一个示例:

但我在Console中发现了这个错误:

Uncaught TypeError: oTable.fnPageChange is not a function
我能做什么

谢谢你能试试这个吗

$(document).ready(function() {

  var currentPaging = 1;

  $('#example').DataTable( {
    responsive: true
  } );

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

  $(document).on("keypress", function (e) {
    oTable.fnPageChange(2);
  });

  $('#example').on( 'page.dt', function () { 
    var info = $('#example').DataTable().page.info();
    var page = info.page + 1;

    alert('Current paging : '+page);

    currentPaging = info.page + 1;
  });

  $('#memorizePaging').on("click", function (e) {

    alert("I'm on the page : "+currentPaging);

  });

} );
我做了一把小提琴给你看换页的作品:

你能试试这个吗

$(document).ready(function() {

  var currentPaging = 1;

  $('#example').DataTable( {
    responsive: true
  } );

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

  $(document).on("keypress", function (e) {
    oTable.fnPageChange(2);
  });

  $('#example').on( 'page.dt', function () { 
    var info = $('#example').DataTable().page.info();
    var page = info.page + 1;

    alert('Current paging : '+page);

    currentPaging = info.page + 1;
  });

  $('#memorizePaging').on("click", function (e) {

    alert("I'm on the page : "+currentPaging);

  });

} );
我用小提琴向您展示了fnPageChange的工作原理:

使用,它将以自动方式完全完成您需要的工作:

var oTable = $("#id").DataTable({
  stateSave : true,
  ...
});
现在,每次实例化该表时,它都将恢复上一次会话的设置,即分页、排序、搜索短语…

使用,它将以原子方式完全执行您需要的操作:

var oTable = $("#id").DataTable({
  stateSave : true,
  ...
});

现在,每次实例化表时,它都会恢复上一次会话的设置,即分页、排序、搜索短语…

看起来数据表应该从小字符数据表开始 它应该有助于:

 $('.js_select').click(function (e) {
    var oTable = $("#id").DataTable({
    ......
改为:

 $('.js_select').click(function (e) {
    var oTable = $("#id").dataTable({
    ......

看起来DataTable应该从小字符DataTable开始 它应该有助于:

 $('.js_select').click(function (e) {
    var oTable = $("#id").DataTable({
    ......
改为:

 $('.js_select').click(function (e) {
    var oTable = $("#id").dataTable({
    ......


可以向js FIDLE显示您的代码,以便我们可以帮助您快速…在$document backetit关闭后关闭oTable的brcket:-fnPageChange将仅在oldschool dataTable jQuery实例上工作。因此,请使用dataTable或$id.dataTable.fnPageChange,但stateSave要简单得多:可以向js FIDLE显示您的代码,以便我们可以帮助您快速…在$document backetit关闭后关闭oTable的brcket:-fnPageChange将仅在oldschool dataTable jQuery实例上工作。所以使用dataTable或$id.dataTable.fnPageChange,但是stateSave要简单得多:现在我要尝试一下,但是我不需要initcomplete上的这个fn,因为只有当全局变量不是空的时候,我才需要从第2页开始。然后用if条件包围fnPageChange。您的全局变量是什么?我尝试了fn…结果是:导航栏被正确设置为3,因为dt开始在0处对页面进行编号,但呈现的页面通常是第一个,而不是第三个…相同的第一个错误John:Uncaught TypeError:oTable.fnPageChange不是一个函数查看我的小提琴更新,当您在文档上按键时,您进入第3页,您应该单击datatables以在JSFIDLE中查看它,因为焦点没有设置在我现在要尝试的结果上,但我不需要initcomplete上的fn,因为只有在全局变量不为空的情况下,我才必须从第2页开始。然后用if条件包围fnPageChange。您的全局变量是什么?我尝试了fn…结果是:导航栏被正确设置为3,因为dt开始在0处对页面进行编号,但呈现的页面通常是第一个,而不是第三个…相同的第一个错误John:Uncaught TypeError:oTable.fnPageChange不是一个函数查看我的小提琴更新,当您在文档上按下键时,转到第3页,您应该单击datatables以在JSFIDLE中查看它,因为焦点没有设置在结果上。上述解决方案是最简单的,切中要害。它将其设置保存在本地存储中,如页面上的Datatables\u YourTableId。无论何时您在注销后来。它将恢复表的设置。但在某些情况下,在使用不同的用户登录后,不需要相同的设置,因此如果您使用的是类似于localstorage.clear的c语言,则最好清除localstorage;在document.ready区域中。上述解决方案是最简单且切中要害的。它将其设置保存在本地存储中,如页面上的Datatables\u YourTableId。无论何时您在注销后来。它将恢复表的设置。但在某些情况下,在使用不同的用户登录后,不需要相同的设置,因此如果您使用的是类似于localstorage.clear的c语言,则最好清除localstorage;在document.ready区域中。