3

一部の HTML テーブルで jQuery DataTables を使用しています。さて、いくつかのテーブルを一覧表示するページがあり、それらすべてを同じフィルターでフィルター処理する必要があります。ケースでは、私がカスタマイズした日付範囲です。

すべてのテーブルは同じ css クラスを使用して dataTable を構築し、日付範囲による検索を行いました

$.fn.dataTableExt.afnFiltering.push(fn).

を使用して、テキストによる別の検索もあります

$('.dataTable').dataTable().fnFilter(
    searchVal,
    4,
    false,
    true
);

これも、私が期待していたようにすべてのテーブルではなく、1つのテーブルでのみ機能しています。

ありがとう、

4

1 に答える 1

1

この範囲フィルタリング(日付)に気づきましたか

詳細を表示特定の日付範囲で列をフィルタリングします。開始日と終了日が存在する入力と列のIDを変更する必要がある可能性があることに注意してください。

$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {
    var iFini = document.getElementById('fini').value;
    var iFfin = document.getElementById('ffin').value;
    var iStartDateCol = 6;
    var iEndDateCol = 7;

    iFini=iFini.substring(6,10) + iFini.substring(3,5)+ iFini.substring(0,2)
    iFfin=iFfin.substring(6,10) + iFfin.substring(3,5)+ iFfin.substring(0,2)       

    var datofini=aData[iStartDateCol].substring(6,10) + aData[iStartDateCol].substring(3,5)+ aData[iStartDateCol].substring(0,2);
    var datoffin=aData[iEndDateCol].substring(6,10) + aData[iEndDateCol].substring(3,5)+ aData[iEndDateCol].substring(0,2);

    if ( iFini == "" && iFfin == "" )
    {
        return true;
    }
    else if ( iFini <= datofini && iFfin == "")
    {
        return true;
    }
    else if ( iFfin >= datoffin && iFini == "")
    {
        return true;
    }
    else if (iFini <= datofini && iFfin >= datoffin)
    {
        return true;
    }
    return false;
});

また

範囲フィルタリング(数値) 指定された2つの数値の間にある値で特定の数値列をフィルタリングします。入力数値が指定されているのIDを変更する必要がある可能性があることに注意してください

于 2012-10-29T01:07:26.433 に答える