Я использую таблицы данных jquery.Я делаю фильтр диапазона дат на нем.Когда я выбираю минимальную дату и максимальную дату, результат не фильтруется в таблицах данных.Я использовал скрипт
$(document).ready(function() {
var table1 = $('#sample_2').DataTable({
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print',
]
});
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
//var min = $('#min').datepicker("getDate");
// var max = $('#max').datepicker("getDate");
var min = $('#min').datepicker({
dateFormat: 'yyyy-mm-dd'
}).val();
var max = $('#max').datepicker({
dateFormat: 'yyyy-mm-dd'
}).val();
//console.log(min);
console.log(min);
console.log(max);
//var startDate = new Date(data[4]);
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
var today = yyyy + '-' + mm + '-' + dd;
var startDate = today;
console.log(startDate);
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;
}
);
$("#min").datepicker({
onSelect: function() {
table1.draw();
},
changeMonth: true,
changeYear: true
});
$("#max").datepicker({
onSelect: function() {
table1.draw();
},
changeMonth: true,
changeYear: true
});
// Event listener to the two range filtering inputs to redraw on input
$('#min, #max').change(function() {
table1.draw();
});
});
$(document).ready(function() {
var table1 = $('#sample_2').DataTable({
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print',
]
});
$.fn.dataTable.ext.search.push(
function(settings, data, dataIndex) {
//var min = $('#min').datepicker("getDate");
// var max = $('#max').datepicker("getDate");
var min = $('#min').datepicker({
dateFormat: 'yyyy-mm-dd'
}).val();
var max = $('#max').datepicker({
dateFormat: 'yyyy-mm-dd'
}).val();
//console.log(min);
console.log(min);
console.log(max);
//var startDate = new Date(data[4]);
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
var today = yyyy + '-' + mm + '-' + dd;
var startDate = today;
console.log(startDate);
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;
}
);
$("#min").datepicker({
onSelect: function() {
table1.draw();
},
changeMonth: true,
changeYear: true
});
$("#max").datepicker({
onSelect: function() {
table1.draw();
},
changeMonth: true,
changeYear: true
});
// Event listener to the two range filtering inputs to redraw on input
$('#min, #max').change(function() {
table1.draw();
});
});
Формат даты: гггг-мм-дд.Каждый раз, когда я ищу с диапазоном дат, результат не попадает в таблицы данных.Пожалуйста, помогите мне, где я делаю неправильно. Спасибо.