jQuery Datatables 1.10.5 を使用したページがあります。テーブルは正常に機能しますが、「DM-YY」という形式の日付があります。10-03-15、(2015 年 3 月 10 日)。
これを head に含めたので、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」はありますか?