Javascript 隐藏数据表导出功能和分页

Javascript 隐藏数据表导出功能和分页,javascript,jquery,datatables,Javascript,Jquery,Datatables,我使用jQuery插件DataTables来显示表。然后,我通过Datatables API添加了CSV和PDF导出功能。 然后我有一个由三个选择选项组成的表单。 当用户选择一个项目时,它会显示一个表 如果用户选择选择列表的第二项,它将切换到第二个表,并使用与该第二个表关联的导出按钮。这很好,但它仍然是第一个表的导出按钮。 如何仅显示第一个表的要素并隐藏上一个表的要素 这是我的密码: $('select[name=tab]').change(function () { if ($(t

我使用jQuery插件DataTables来显示表。然后,我通过Datatables API添加了CSV和PDF导出功能。 然后我有一个由三个选择选项组成的表单。 当用户选择一个项目时,它会显示一个表

如果用户选择选择列表的第二项,它将切换到第二个表,并使用与该第二个表关联的导出按钮。这很好,但它仍然是第一个表的导出按钮。 如何仅显示第一个表的要素并隐藏上一个表的要素

这是我的密码:

  $('select[name=tab]').change(function () {
    if ($(this).val() == 'tab1') {
        $('#table1').show();  
        $('#table2').hide();                                                                                
        $('#table1').DataTable({
                dom: 'Bfrtip',
                info : false,
                buttons: [
                    'csv', 'excel', 'pdf'
                ]
            });
    }
    else if ($(this).val() == 'tab2') {
        $('#table1').hide();  
        $('#table2').show();                                                                                                               
        $(document).ready(function () {
            $('#list-saint-iv').DataTable({
                dom: 'Bfrtip',
                info : false,
                buttons: [
                    'csv', 'excel', 'pdf'
                ]
            });

        });                               
    }
[……]


多谢各位

有这样的东西;您需要保留2个表格模板。然后摧毁 选择过程中未使用该表

    $( document ).ready(function() {

     var tblTemplateWithoutExport = {

            "paging" : false,
            "info" : false,

       };

       var tblTemplateWithExport = {

            "paging" : false,
             dom: 'Bfrtip',
            "info" : false,
            buttons: [
                'csv', 'excel', 'pdf'
            ]

      };

      var tbl1,tbl2;

      tbl1 = $('#table1').DataTable(tblTemplateWithoutExport);
      tbl2 = $('#table2').DataTable(tblTemplateWithExport); 

      $( 'select[name=tab]' ).change(function() {

          if ($(this).val() == 'tab1') {

             tbl2.destroy();
             tbl1.destroy();  
             tbl1 = $('#table1').DataTable(tblTemplateWithoutExport);


          }

          else if($(this).val() == 'tab2'){

              tbl1.destroy();
              tbl2.destroy();
              tbl2 = $('#table2').DataTable(tblTemplateWithExport); 


          }

          else{
               console.log('something other selection');
           }

      });

    });

非常感谢你的帮助。我试过了,效果很好:只剩下一个问题:当我从一个表切换到另一个表时,会出现一个javascript警报,提示DataTables警告:table id=table2-无法重新初始化DataTable。有关此错误的详细信息,请参阅。你知道如何更正它吗?@Julien我已经命名了一些变量,并在onchange事件之外预先初始化了表…@ThivankaW和其他人-非常感谢你的帮助,现在它运行良好,我可以从一个选项卡切换到另一个选项卡。再次感谢!!