【发布时间】:2015-03-05 18:19:48
【问题描述】:
我有一个使用 jQuery Datatables 1.10.5 的页面。该表工作正常,但我有一个格式为“D-M-YY”的日期,例如10-03-15,(2015 年 3 月 10 日)。
我已将它包含在头部,所以我正在加载 moment.js。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.5/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script>
<script type="text/javascript" src="//cdn.datatables.net/plug-ins/f2c75b7247b/sorting/datetime-moment.js"></script>
我称之为初始化表:
$(document).ready( function () {
$.fn.dataTable.moment( 'D-M-YY' );
$('.datatable').DataTable({....options here, language etc..
我想知道我做错了什么,因为该列不会按我的日期排序。我已经阅读了 datatable.net 的所有文档,但似乎我正确地调用了它。
*** 更新 我可以使用这个插件,它对输入字段进行排序。 http://datatables.net/plug-ins/sorting/custom-data-source/dom-text
我仍然只能像 yyyy-mm-dd 这样按 UNIX 日期排序。我想按自定义日期 dd-mm-yy 排序。我用它来初始化输入字段:
/* 用一列中所有输入框的值创建一个数组*/
$.fn.dataTable.ext.order['dom-text-numeric'] = function ( settings, col )
{return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i )
{ return $('input', td).val() * 1; } ); }
然后我定义日期字段编号。 3
$('#example').dataTable( { "columns": [ null, null, { "orderDataType":"dom-text", type: 'text' } ] } );
我什至试过这个:
{ "orderDataType":"dom-text", type: 'date' }
是否存在有效值“dom-date”?
【问题讨论】:
-
我觉得我有进步了。现在正在开发这个插件datatables.net/examples/plug-ins/dom_sort.html
-
你解决了这个问题吗,按输入值对列进行排序?
-
不抱歉,没有解决方案。在我发现这一点之前,我不得不放弃对该日期字段的排序。
标签: jquery jquery-datatables datatables-1.10