【问题标题】:Hide Datatable before fetching data from MySQL database在从 MySQL 数据库中获取数据之前隐藏 Datatable
【发布时间】:2019-03-03 09:42:59
【问题描述】:

我正在制作一个网站,我们可以在其中从 MySQL 获取数据并显示在表格中。我正在使用带有分页和搜索选项的响应表的数据表代码。当我们打开页面时,表格仍然是空的,当我们输入任何单词并按回车时,表格中的数据就会被提取。我想在获取数据之前隐藏表格,因为它会使访问者输入搜索词感到困惑。请帮我解决这个问题。请在搜索前查看我要删除的红色标记的表格,并仅在点击搜索按钮后在此表格中显示数据。

【问题讨论】:

  • 第一次搜索返回结果后为什么不初始化表?
  • 您好 Anurag,感谢您的回复。我正在初始化所有其他页面通用的表头中的表。
  • 然后在返回结果之前 .hide() 并在获得结果后 .show() 。
  • 使用 css style="display:none;" 然后当你有结果时你用 JS 改变样式来删除它。

标签: javascript jquery datatable


【解决方案1】:

在初始化表之后添加以下代码

if ($(".dataTables_empty").length) {
$(".dataTables_wrapper").hide(); }

我这样做是为了解决问题

<script type="text/javascript"> $(document).ready(function() {
$('#example').DataTable(); if ($(".dataTables_empty").length) { $(".dataTables_wrapper").hide();} } ); </script>

【讨论】:

    【解决方案2】:

    你好,我的朋友试试这样:

    <div class="table-responsive" id="yourInputSearchValue" style="display:none">
    <table class="display dataTable" id="exampleTable"  >
                                    //Your columns here
                                   </table>
                                     </div>
    

    Javascript:

    $('#yourSubmit').on('click',function() {
    console.log($('#yourInputSearchValue').val());
    id = $.trim($('#yourInputSearchValue').val().replace(/\s+/g, ' '));
    console.log(id);
    $('#theDivthatContainsTheTable').hide();
    exampleTable =$('#exampleTable').DataTable();
    if ($.fn.DataTable.isDataTable("#exampleTable")) {
    exampleTable.destroy();
    $('#exampleTable tbody').remove();
    }//this help when you search again
    });
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2021-10-03
      • 2017-12-07
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多