2

多数のデータテーブルに適用できる日付範囲フィルターを作成したいと考えています。私が抱えている問題は、配列内にあるフィルター関数に到達するまでに、オブジェクトの配列として aaData 値を渡しているにもかかわらずです。配列内の日付値のインデックスは、アプリケーション全体のさまざまな dataTables で異なるため、これは機能しません。このような属性のドット表記を介して行うことができます。

$.fn.dataTableExt.afnFiltering.push(
        function( oSettings, aData, iDataIndex ) {
            var iMin = document.getElementById('start-datepicker').value;
            var iMax = document.getElementById('end-datepicker').value;

            // Create Minimum Date Object
            var iMinDate = new Date(iMin);

            // Create Maximum Date Object
            var iMaxDate = new Date(iMax);

            // Create Date Column Object
            var iDateStr = aData.date;
            var iDate = new Date(iDateStr);

            if ( iMinDate < iDate && iDate < iMaxDate )
            {
                return true;
            }
            return false;
        }
    );

私の初期化はこれに似ていますhttp://live.datatables.net/iyavud/7/edit#source

4

1 に答える 1

1

これはハックかもしれませんが、oSettings.aoData オブジェクトと iDataIndex 引数を介してデータを取得したようです。

$.fn.dataTableExt.afnFiltering.push(
        function( oSettings, aData, iDataIndex ) {
            var iMin = document.getElementById('start-datepicker').value;
            var iMax = document.getElementById('end-datepicker').value;

            // Create Minimum Date Object
            var iMinDate = new Date(iMin);

            // Create Maximum Date Object
            var iMaxDate = new Date(iMax);

            // Create Date Column Object
            var rowData = oSettings.aoData[iDataIndex]._aData;
            var iDateStr = rowData.date;
            var iDate = new Date(iDateStr);

            if ( iMinDate < iDate && iDate < iMaxDate )
            {
                return true;
            }
            return false;
        }
    );
于 2013-01-04T20:06:37.963 に答える