Javascript jquery数据表不';我不能使用ajax
我使用JQuery数据表。我创建了一个函数,将数据从ajax成功的spring Controller发送到datatable。到目前为止一切都很好,现在我想添加一个日期范围过滤器,它可以处理表的默认内容,但问题是,当表的内容随ajax函数更改时,日期范围过滤器仍然会过滤默认内容 这是日期范围过滤器Javascript jquery数据表不';我不能使用ajax,javascript,jquery,ajax,datatables,Javascript,Jquery,Ajax,Datatables,我使用JQuery数据表。我创建了一个函数,将数据从ajax成功的spring Controller发送到datatable。到目前为止一切都很好,现在我想添加一个日期范围过滤器,它可以处理表的默认内容,但问题是,当表的内容随ajax函数更改时,日期范围过滤器仍然会过滤默认内容 这是日期范围过滤器 $(document).ready(function(){ $.fn.dataTable.ext.search.push( function (settings, data, data
$(document).ready(function(){
$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex) {
var min = $('#date_added').datepicker("getDate");
var max = $('#date_modified').datepicker("getDate");
var d = data[2].split("/");
var startDate = new Date(d[0]+ "/" + d[1] +"/" + d[2]);
if (min == null && max == null) { return true; }
if (min == null && startDate <= max) { return true;}
if(max == null && startDate >= min) {return true;}
if (startDate <= max && startDate >= min) { return true; }
return false;
}
);
$("#date_added").datepicker({ onSelect: function () { table.draw(); }, changeMonth: true, changeYear: true });
$("#date_modified").datepicker({ onSelect: function () { table.draw(); }, changeMonth: true, changeYear: true });
var table = $('#datatable').DataTable();
// Event listener to the two range filtering inputs to redraw on input
$('#date_added, #date_modified').change(function () {
var table = $('#datatable').DataTable();
table.draw();
});
});
$(文档).ready(函数(){
$.fn.dataTable.ext.search.push(
功能(设置、数据、数据索引){
var min=$('日期添加').datepicker(“getDate”);
var max=$(“#date_modified”).datepicker(“getDate”);
var d=数据[2]。拆分(“/”;
var startDate=新日期(d[0]+“/”+d[1]+“/”+d[2]);
如果(min==null&&max==null){return true;}
如果(min==null&&startDate=min){return true;}
如果(startDate=min){返回true;}
返回false;
}
);
$(“#date_added”).datepicker({onSelect:function(){table.draw();},changeMonth:true,changeYear:true});
$(“#date_modified”).datepicker({onSelect:function(){table.draw();},changeMonth:true,changeYear:true});
var table=$('#datatable')。datatable();
//事件侦听器到两个范围过滤输入,以便在输入时重新绘制
$(“#添加日期,#修改日期”)。更改(函数(){
var table=$('#datatable')。datatable();
table.draw();
});
});
这是ajax函数
$.ajax({
type : "GET",
contentType : "application/json",
url : "http://localhost:8081/BackEndFinalVersion/listCourriersArrivés",
data: { get_param: 'value' },
dataType : 'json',
timeout : 100000,
success :function(data) {
trHTML = '';
$('input[type=radio][name=radioInline]').change(function() {
if (data == null) {
alert("No records"+data);
//trHTML = '<tr><td>'No Records to be show'</td></tr>';
} else if(this.value == 'option2'){
$.each(data, function(i, item) {
$("body").on("click", "#datatable tr", function () {
window.location ="/Pro/mail_detail?id="+item.idCourrier;
});
trHTML += '<tr><td>' + item.expéditeur + '</td><td>' + item.société + '</td><td>' + item.date + '</td><td>' + item.objet + '</td></tr>';
});
$('#datatable tbody tr').remove();
$('#datatable tbody').append(trHTML);
}
trHTML = '';
})
},
error : function(e) {
console.log("ERROR: ", e);
alert(e);
},
});
});
$.ajax({
键入:“获取”,
contentType:“应用程序/json”,
url:“http://localhost:8081/BackEndFinalVersion/listCourriersArriv",,
数据:{get_param:'value'},
数据类型:“json”,
超时:100000,
成功:函数(数据){
trHTML='';
$('input[type=radio][name=radioInline]')。更改(函数(){
如果(数据==null){
警报(“无记录”+数据);
//trHTML=''没有要显示的记录';
}else if(this.value==“option2”){
$。每个(数据、功能(i、项){
$(“body”)。在(“click”、“#datatable tr”上,函数(){
window.location=“/Pro/mail_detail?id=“+item.idCourrier;
});
trHTML+=''+item.expéditeur+''+item.socieét+''+item.date+''+item.objet+'';
});
$('#datatable tbody tr').remove();
$('#datatable tbody').append(trHTML);
}
trHTML='';
})
},
错误:函数(e){
日志(“错误:”,e);
警报(e);
},
});
});
插入新数据后是否尝试重新初始化datatables?我尝试添加table.ajax.reload()
在$之后。每个
都不起作用。如果您有其他想法,请告诉我如何重新初始化数据表