我有这样的数据平衡。
var table = $('#rep-ship-plan');
var target = table.attr('data-table');
var fDate = $("#fRange").val();
var tDate = $("#sRange").val();
var BuyerCode = $("#Buyer").val();
var oTable = table.on( 'processing.dt', function ( e, settings, processing ) {
if (processing) {
$(this).find('tbody').addClass('load1 csspinner');
} else{
$(this).find('tbody').removeClass('load1 csspinner');
};
} ).DataTable({
"bServerSide": true,
"scrollY": "200px",
"scrollCollapse": true,
"paging": false,
"ajax": {
"url" : host+"datatables",
"type": "POST",
"data" :{
target: target
}
},
"columnDefs": [{
"targets": [ 0 ],
"className": "details-control",
}],
"fnDrawCallback": function(oSetting) {
$('.currency').formatCurrency({symbol: ''});
}
});
但是我的问题是,当我单击按钮搜索时,我想用数据POST重新加载表。如何将帖子发送到ajax或如何用新的POST
数据(输入)重新加载我的ajax ??
注意:如果使用GET来创建较长的URL,而我的服务器无法保存它(我在数据表上有42列),则我使用POST原因
答案 0 :(得分:0)
将事件侦听器附加到您的搜索按钮
$('#searchButtonId').on('click', function(){});
在数据发布后,将其放入点击回调函数DataTable重新加载方法
datatable.ajax.reload();
类似的东西
$('#searchButtonId').on('click', function () {
//Grab necessary data and put it into variable 'data'
$.post('/url/to/script/updating/DataTable/source', {
data: //your data here
}, function () {
//Do your stuff on successfully POSTed data
//Refresh your DataTable
datatable.ajax.reload();
});
});