2017-02-13 101 views
0

我在我的应用程序中使用jQuery DataTables插件与服务器端处理。截至目前,当 文档准备就绪时,该表被初始化并加载数据。代码如下:DataTable获取按钮点击数据

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
        ajax: { 
         url: 'project/search.do', 
         data: function(d) { 
           d.numberOfColumns = 6 
           d.submittedOnStart = jQuery("#date1").val(), 
           d.submittedOnEnd = jQuery("#date2").val()       
         }, 
         dataSrc: "rows", 
         type: 'GET' 
        }, 
        columns: getColumns(), 
        "columnDefs": getColumnDefs() 
       }); 
}); 

这工作正常。但是,我想要以表格在准备好文档时初始化的方式进行更改,但数据是在按钮单击时加载的。我看着Load DataTable data through button Click这不适合我的情况。有没有办法做到这一点?

+0

var table = jQuery(“#projectTable”).dataTable({/ * init options * /})''在'doc.ready'函数内怎么回事? – mhodges

+0

感谢Mhodges的回复。这部分没有什么是错的。这很好。但是,如何将数据加载到按钮按下时已经初始化的表中? – rav

+0

啊,我的道歉,我误解了你的问题。我以为你只是问如何初始化文档表上的准备就绪。我相信'.reload()'是你正在寻找的东西。 https://datatables.net/reference/api/ajax.reload() – mhodges

回答

-2

利用.url.load使表格刷新并点击按钮。

jQuery(document).ready(function() { 
    var table = DataTables.create("#projectTable", parameters, { 
    ajax: { 
     url: 'project/search.donot', 
     data: function(d) { 
     d.numberOfColumns = 6 
     d.submittedOnStart = jQuery("#date1").val(), 
      d.submittedOnEnd = jQuery("#date2").val() 
     }, 
     dataSrc: "rows", 
     type: 'GET' 
    }, 
    columns: getColumns(), 
    "columnDefs": getColumnDefs() 
    }); 
    $('#thisbutton').click(function() { 
    // you can reload your data here. You can call a different file if you need to change the data returned 
    table.ajax.url("project/search.do").load(); 
    }); 
}); 
+0

“...以这种方式**该表已初始化文档就绪**,但**数据加载在按钮单击**“ – mhodges

+0

@mhodges - 阅读他的问题下面的评论,他没有正确键入他的问题,他要求按钮单击'但是,我怎样才能将数据加载到按钮按下时已经初始化的表格中呢?他的标题甚至反映出'DataTable在按钮点击时获取数据' –

+0

这将在每次按钮点击时启动表格。我期待在页面加载时启动表格,并在点击时调用ajax调用,并使用来自ajax调用的json响应加载表格。 – rav