我无法使yadcf的range_date过滤器正常工作。 我在datatables.net中使用它。而且我不知道我是否缺少某些东西或它是否是一个错误。
我将这种日期格式用于传递到数据表YYYY-MM-DDTHH:mm
的原始数据。
我正在使用这种格式在datetime-picker中显示日期:DD/MM/YYYY
。
我已经查看了yadcf插件的内部功能,似乎从传递给datatable的原始值中获取行日期(在我的情况下,格式为'YYYY-MM-DDTHH:mm' ),并使用moment_date_format
中提供的格式进行阅读。然后,它将这个日期与范围过滤器中的日期进行比较,这些日期的格式为:“ DD / MM / YYYY”,但是yadcf仍使用moment_date_format
中提供的格式读取日期。
我做了一个小提琴,显示了这个问题: http://jsfiddle.net/vatvat99/go5mxw0d/32/
var data = [
{date: '2018-12-05T00:00'},
{date: '2018-12-04T00:00'},
{date: '2018-12-03T00:00'},
{date: '2018-12-02T00:00'},
{date: '2018-12-01T00:00'},
];
$(document).ready(function () {
$('#example').dataTable({
data: data,
columnDefs: [{
defaultContent: "-",
targets: "_all"
}],
columns: [
{
name: 'date',
data: 'date',
}
],
}).yadcf([
{
column_number: 0,
filter_container_id: 'dateContainer',
filter_type: 'range_date',
datepicker_type: 'bootstrap-datetimepicker',
moment_date_format: 'YYYY-MM-DDTHH:mm',
filter_plugin_options: {
format: 'DD/MM/YYYY',
showClear: true,
}
},
]);
});
感谢您的帮助。
答案 0 :(得分:0)
现在,您可以通过为moment_date_format
和filter_plugin_options: { format: 'YYYY-MM-DDTHH:mm',
设置相同的日期格式来解决该问题,这是因为即使以后filter_plugin_options.format
用于输出日期选择器日期选择,过滤逻辑addRangeDateFilterCapability
moment_date_format
被用来解析它(您可以将其称为错误),因此,现在使用相同的格式,此外,您还可以打开一个问题,并在yadcf上附加jsfiddle链接回购。
.yadcf([
{
column_number: 0,
filter_container_id: 'dateContainer',
filter_type: 'range_date',
datepicker_type: 'bootstrap-datetimepicker',
moment_date_format: 'YYYY-MM-DDTHH:mm',
filter_plugin_options: {
format: 'YYYY-MM-DDTHH:mm',
showClear: true,
}
},