2

dataTablesで日付フィールドを並べ替えると問題が発生します( {"sType":"date"}.null

IE 9 & 10、および Chrome、Safari、Firefox の最新バージョンで動作します。このアプリはモバイル クライアントでは使用されないため、モバイル クライアントではテストしませんでした。

調べる必要がある IE8 について何か特別なことはありますか? IE8 の JavaScript コンソールにはエラーが表示されないので、どこを見ればよいか少し困惑しています。dataTablesドキュメントを確認し、SO を検索しましたが、IE8 固有のものはまだ見つかりませんでした。

アップデート:

データテーブルを初期化するために使用している JavaScript を次に示します。

//sprv results table
$("#sprv_report_table").livequery(function(){$(this).dataTable({
  "aoColumns": [{"sType":"date"},null,null,null,null,{"sType":"date"}],
  "iDisplayLength": 10, 
  "sPaginationType": "full_numbers"
});});1

データ テーブル コードがテーブルに適用され、他の列を並べ替えることができるため、このイベントが発生していないと信じる理由はありません。ブラウザーによって発生していることは明らかです。

4

1 に答える 1

1

次のようなものを試してください。

$(this).dataTable({
  "aoColumns": [{
    mData: function(data, type) {
       var realDate = Date.parse(data); //data will be a string
       switch(type) {
         case 'display':
            return realDate.toString('MM/dd/yyyy'); //note that this line needs to be implemented by you (however you format dates)
         default:
            return realDate;
       }
    }
   },null,null,null,null,{"sType":"date"}],
  "iDisplayLength": 10, 
  "sPaginationType": "full_numbers"
});

mDataこちらの使用法に関するリファレンスを参照してください:http: //datatables.net/ref

integer-データソースの配列インデックスとして扱われます。これは、DataTablesが使用するデフォルトです(列ごとに段階的に増加します)。

string-データソースからオブジェクトプロパティを読み取ります。Javascriptドット表記を使用して、データソースから詳細なプロパティ/配列を読み取ることができることに注意してください。

null-sDefaultContentオプションがセルに使用されます(デフォルトではnullであるため、必要なデフォルトのコンテンツを指定する必要があります-通常は空の文字列です)。これは、アクション列の編集/削除などの生成された列で役立ちます。

function-指定された関数は、DataTablesが列のセルのデータを設定または取得する必要があるときはいつでも実行されます。この関数は次の3つのパラメーターを取ります。{array|object}行のデータソース{string}要求されたタイプ呼び出しデータ-これは、データを設定するときに「set」または「filter」、「display」、「type」、「sort」になります'またはデータ収集時に未定義。タイプにundefinedが指定されている場合、DataTablesはオブジェクトの生データを取得することを期待していることに注意してください

{*}2番目のパラメータが'set'のときに設定するデータ。

'set'が呼び出しのタイプである場合、関数からの戻り値は必要ありませんが、それ以外の場合、戻り値は要求されたデータに使用されるものです。

于 2013-03-15T18:02:19.903 に答える