我正在使用datatables jquery插件,并希望按日期排序。
我知道他们有一个插件,但我找不到从哪里实际下载它
http://datatables.net/plug-ins/sorting
我相信我需要这个文件:dataTables.numericComma.js,但我找不到它在任何地方,当我下载数据表,它似乎不在zip文件。
我正在尝试排序这个格式MM / DD / YYYY HH:MM TT(AM | PM)
谢谢
编辑
如何更改为按MM / DD / YYYY HH:MM TT(AM | PM)排序,并将其更改为美国日期?
jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a,b) { var ukDatea = a.split('/'); var ukDateb = b.split('/'); var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1; var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }; jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) { var ukDatea = a.split('/'); var ukDateb = b.split('/'); var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1; var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1; return ((x < y) ? 1 : ((x > y) ? -1 : 0)); };
解决方法
点击日期(dd / mm / YYY)下的“显示详细信息”链接,然后可以复制并粘贴那里提供的插件代码
更新:我想你可以只是切换阵列的顺序,像这样:
jQuery.fn.dataTableExt.oSort['us_date-asc'] = function(a,b) { var usDatea = a.split('/'); var usDateb = b.split('/'); var x = (usDatea[2] + usDatea[0] + usDatea[1]) * 1; var y = (usDateb[2] + usDateb[0] + usDateb[1]) * 1; return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }; jQuery.fn.dataTableExt.oSort['us_date-desc'] = function(a,b) { var usDatea = a.split('/'); var usDateb = b.split('/'); var x = (usDatea[2] + usDatea[0] + usDatea[1]) * 1; var y = (usDateb[2] + usDateb[0] + usDateb[1]) * 1; return ((x < y) ? 1 : ((x > y) ? -1 : 0)); };
我所做的只是切换__date_ [1](天)和__date_ [0](月),并将我们替换为英国,所以你不会感到困惑。我认为应该照顾你。
更新#2:您应该可以使用日期对象进行比较。尝试这个:
jQuery.fn.dataTableExt.oSort['us_date-asc'] = function(a,b) { var x = new Date(a),y = new Date(b); return ((x < y) ? -1 : ((x > y) ? 1 : 0)); }; jQuery.fn.dataTableExt.oSort['us_date-desc'] = function(a,y = new Date(b); return ((x < y) ? 1 : ((x > y) ? -1 : 0)); };