Datatable-将字符串转换为日期类型过滤器错误
Datatable- converting string to date type filter error
我的 table 中有 5 列,第二列是用作日期类型的字符串 (12 Jan 14),因此在过滤时,它仅根据日期而不是年份进行过滤,然后是月,然后是日。请记住,我无法更改日期类型,因为这是一个更大项目的一部分。
我正在使用 datatables.net 并且是新手,因此我们将不胜感激,所以我的问题是有人可以将字符串转换为日期类型并进行过滤吗?
<script type="text/javascript" language="javascript" class="init">
var mSortingString = [];
var disableSortingColumn = 4;
mSortingString.push({ "bSortable": false, "aTargets": [disableSortingColumn] });
$(document).ready(function () {
$('#table').dataTable({
"paging": false,
"ordering": true,
"info": false,
"aaSorting": [],
"orderMulti": false,
"aoColumnDefs": mSortingString
});
});
</script>
您可以检查 Sorting Plugins 看看您是否找到可以使用的。或者,您可以创建自己的排序插件,我已经做过几次并且很简单。
var months = {Jan:1,Feb:2,Mar:3,Apr:4,May:5,Jun:6,Jul:7,Aug:8,Sep:9,Oct:10,Nov:11,Dec:12};
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"my-date-pre": function(a) {
//12 Jan 14
var myDate = a.split(' ');
return (myDate[2] + months[myDate[1]] + myDate[0]) * 1;
},
"my-date-asc": function(a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"my-date-desc": function(a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
因此,您可以在 aoColumns
或 columnDefs
配置中使用 sType
并将其设置为 my-date
,一些像这样
$('#example').dataTable( {
columnDefs: [
{ type: 'my-date', targets: 0 }
]
} );
其中目标是日期从 0 开始的列的索引。
我的 table 中有 5 列,第二列是用作日期类型的字符串 (12 Jan 14),因此在过滤时,它仅根据日期而不是年份进行过滤,然后是月,然后是日。请记住,我无法更改日期类型,因为这是一个更大项目的一部分。
我正在使用 datatables.net 并且是新手,因此我们将不胜感激,所以我的问题是有人可以将字符串转换为日期类型并进行过滤吗?
<script type="text/javascript" language="javascript" class="init">
var mSortingString = [];
var disableSortingColumn = 4;
mSortingString.push({ "bSortable": false, "aTargets": [disableSortingColumn] });
$(document).ready(function () {
$('#table').dataTable({
"paging": false,
"ordering": true,
"info": false,
"aaSorting": [],
"orderMulti": false,
"aoColumnDefs": mSortingString
});
});
</script>
您可以检查 Sorting Plugins 看看您是否找到可以使用的。或者,您可以创建自己的排序插件,我已经做过几次并且很简单。
var months = {Jan:1,Feb:2,Mar:3,Apr:4,May:5,Jun:6,Jul:7,Aug:8,Sep:9,Oct:10,Nov:11,Dec:12};
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"my-date-pre": function(a) {
//12 Jan 14
var myDate = a.split(' ');
return (myDate[2] + months[myDate[1]] + myDate[0]) * 1;
},
"my-date-asc": function(a, b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"my-date-desc": function(a, b) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
});
因此,您可以在 aoColumns
或 columnDefs
配置中使用 sType
并将其设置为 my-date
,一些像这样
$('#example').dataTable( {
columnDefs: [
{ type: 'my-date', targets: 0 }
]
} );
其中目标是日期从 0 开始的列的索引。