mik*_*een 2 javascript mysql datatable jquery date
我正在使用DataTables显示一些包含日期列的MySQL数据.
我表中的所有日期数据都以DD/MM/YYYY格式显示,无论我尝试多少不同的东西,我都无法通过前两个数字进行排序.
我目前正在使用这种排序方法,因为我认为它最适合我的数据:
http://datatables.net/plug-ins/sorting/date-uk
"columns": [
{ "data": "Address" },
{ "data": "Date_seen", "type" : "date-uk" },
Run Code Online (Sandbox Code Playgroud)
我也尝试使用此方法进行排序,更像是DataTables网站上的示例:
"columnDefs": [
{ "type": "date-uk", "targets": 1 }
],
Run Code Online (Sandbox Code Playgroud)
我尝试将插件代码复制到我的JavaScript文件中,并尝试通过DataTables CDN引用插件.
我知道有很多类似的问题,但他们都似乎是有关老版本从几年的数据表前,并包含使用旧initialisations如sType,aaSorting和aoColumns.
我希望有人可以解释为什么这不起作用,这让我很生气!
虽然我还没有发现为什么使用上面的插件对我不起作用,但我已经实现了一个解决方法,在我的案例中作为这个问题的答案.
默认情况下,DataTables使用YYYY-MM-DD处理日期,因此我创建了第二个日期列,其中数据以这种方式格式化.当更改原始列时,我还使用javascript函数更新此格式的列.
使用iDataSort我原始列上的DataTables选项,并使用隐藏这个新的"默认日期"列bVisible,我现在显示我的原始列,但使用隐藏的"默认日期"列对其进行排序.下面是我如何初始化此变通方法的示例.
Run Code Online (Sandbox Code Playgroud)"columns": [ { "data": "Name_of_Patient", "width" : "10%" }, { "data": "Address" }, { "data": "Hospital_Number" }, { "data": "PCT" }, { "data": "Date_of_Pres", "iDataSort" : 5 }, { "data": "Date_of_Pres_Sort", "bVisible" : false } ],