引导程序模态中的jQuery Datatable模态关闭后不重新加载

时间:2019-06-13 10:58:33

标签: asp.net-mvc twitter-bootstrap datatables

嗨,我有一个引导模式的jquery数据表,该模式的数据来自我的 MODEL 类,

<table id="demoGrid1" class="table table-striped table-bordered dt-responsive" >  
                <thead>  
              <tr>  
                <th > Code</th>  
                <th>Description</th>      
                <th>Unit</th>  
                <th style="visibility:hidden"> Price</th>
                  <th style="visibility:hidden"> Color</th>
            </tr>  
                </thead>  
              <tbody>
                  @foreach (var item in Model)
                  {
                      <tr>
                          <td>@item.StockCode</td>
                          <td>@item.Description</td>
                          <td>@item.Unit</td>
                          <td style="visibility:hidden">@item.Price</td>
                          <td style="visibility:hidden">@item.Color</td>
                      </tr>
                  }
              </tbody>
            </table> 

我叫这个模型

 $('#myModal').modal('show');

选择完成后就隐藏起来

$('#myModal').modal('hide');

当我在数据表中进行选择时,我遇到的问题是应用了某些样式和全部样式,当我关闭并再次重新打开弹出窗口时,这些样式并没有清除。即使重新打开模型后,选择和样式仍然相同。

我尝试了

$("#myModal").on("hidden.bs.modal", function () {

        $('#demoGrid1').DataTable().draw();
    });

重新绘制数据表,但没有解决。请帮我这个家伙。如何使用默认值在模式弹出窗口中重新绘制数据表。

1 个答案:

答案 0 :(得分:0)

您可以使用destroy()方法删除DataTables增强功能,并将表与数据一起返回到其原始未增强状态。

$("#myModal").on("hidden.bs.modal", function () {
           var table = $('#demoGrid1').DataTable();
           table.destroy();
           $('#demoGrid1').empty(); // empty in case the columns change
           $('#demoGrid1').DataTable();
    });