我在两个数据表的一页中都有2个数据表,我使用
function filterDateRangeService(){
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var dateStart = moment($("#fromDateSer").val(),"DD/MM/YYYY");
var dateEnd = moment($("#toDateSer").val(),"DD/MM/YYYY");
var evalDate= moment(data[5],"DD/MM/YYYY");
console.log("dateStart +"+dateStart+" dateEnd "+dateEnd)
// console.log("insidde")
if (evalDate >= dateStart && evalDate <= dateEnd) {
return true;
}
else {
return false;
}
}
);
function filterDateRangePatient(){
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var dateStart = moment($("#fromDate").val(),"DD/MM/YYYY");
var dateEnd = moment($("#toDate").val(),"DD/MM/YYYY");
var evalDate= moment(data[6],"DD/MM/YYYY");
console.log("dateStart +"+dateStart+" dateEnd "+dateEnd)
// console.log("insidde")
if (evalDate >= dateStart && evalDate <= dateEnd) {
return true;
}
else {
return false;
}
}
);
单击相应的复选框时,将同时调用这两个函数。问题是,当我使用第一个函数的日期范围时,它会过滤特定日期范围的表,但是当我尝试使用第二个函数过滤另一个表时,只会调用第一个函数,即,无论哪个函数被首先调用,只有那个函数被调用每一次。
调用函数使用:
$('input[name="radioFilter"]').click(function(){
filterFunction();
});
$('input[name="radioFilterSer"]').click(function(){
filterFunctionSer();
});
function filterFunction(){
//some functions..
filterDateRangePatient()
}
function filterFunctionSer(){
//some functions..
filterDateRangeService()
}
如何解决这个问题,为什么首先调用的第一个函数也只会在以后调用,否则我做错任何事情。还是因为return语句。
最佳答案
如何用参数编写单个函数并在两个函数上使用它
function filterFunction(){
//some functions..
filterDateRange($("#fromDateSer").val(), $("#toDateSer").val(), 5)
}
function filterFunctionSer(){
//some functions..
filterDateRange($("#fromDate").val(), $("#toDate").val(), 6)
}
和
filterDateRange
函数:(已更新:添加了搜索pop
函数)function filterDateRange(from, to, num){
$.fn.dataTable.ext.search.pop();
$.fn.dataTable.ext.search.push(function( settings, data, dataIndex ) {
var dateStart = moment(from,"DD/MM/YYYY");
var dateEnd = moment(to,"DD/MM/YYYY");
var evalDate= moment(data[num],"DD/MM/YYYY");
console.log("dateStart +"+dateStart+" dateEnd "+dateEnd);
if (evalDate >= dateStart && evalDate <= dateEnd) {
return true;
}
else {
return false;
}
});
}
会的。