bst*_*s21 12 jquery datatables
我正在使用DataTables 1.10
有没有人知道如何在table.draw()之前动态地向ajax调用添加一个参数,所以我的请求有新的参数?我到处寻找,找不到答案.
我有一个人可以按下的按钮,并根据该按钮向服务器发送不同的参数.
$('#mytable').DataTable({
iDisplayLength: 10,
responsive: true,
processing: true,
serverSide: true,
searching: false,
bLengthChange: false,
bProcessing: true,
paging: true,
ajax: {
url: me.url,
dataType: 'json',
cache:false,
type: 'GET',
data: function ( d ) {
$.extend( d, me.data);
d.supersearch = $('.my-filter').val();
}
},
columns: me.columns,
columnDefs: me.renderer,
initComplete: function() {
}
});
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但后来我尝试将它绑定到一个按钮来传递新的参数.
$('.button').on('click', function(){
var table = $('#mytable').DataTable();
table.ajax.params({name: 'test'}); <- I want to do something like this
table.draw();
})
Run Code Online (Sandbox Code Playgroud)
我修改了你的代码来做你需要的.
初始化数据表:
$('#mytable').DataTable({
iDisplayLength: 10,
responsive: true,
processing: true,
serverSide: true,
searching: false,
bLengthChange: false,
bProcessing: true,
paging: true,
ajax: {
url: me.url,
dataType: 'json',
cache:false,
type: 'GET',
data: function ( d ) {
$.extend(d, me.data);
d.supersearch = $('.my-filter').val();
// Retrieve dynamic parameters
var dt_params = $('#mytable').data('dt_params');
// Add dynamic parameters to the data object sent to the server
if(dt_params){ $.extend(d, dt_params); }
}
},
columns: me.columns,
columnDefs: me.renderer,
initComplete: function() {
}
});
Run Code Online (Sandbox Code Playgroud)
处理按钮上的点击事件:
注意:我假设这是您为AJAX调用添加动态参数的唯一地方.
$('.button').on('click', function(){
// Set dynamic parameters for the data table
$('#mytable').data('dt_params', { name: 'test' });
// Redraw data table, causes data to be reloaded
$('#mytable').DataTable().draw();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20444 次 |
| 最近记录: |