jQuery的数据表进行过滤的多个表(jQuery DataTables filter multip

2019-08-02 01:51发布

我使用我的一些HTML表格的jQuery的数据表。 好吧,我有一个页面,我列出severral表和我有相同的过滤器来过滤所有的人。 在这种情况下,是我自定义的日期范围。

所有表都使用相同的CSS类构造DataTable,并通过日期范围,我没有在搜索

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

我也有通过文字另一个搜索,使用

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

而这一次也只有一张桌子的工作,而不是在他们都为我所期待的是。

谢谢,

Answer 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;
});

范围滤波(数字)的值给定的两个数字之间的是过滤器的特定数字列。 请注意,您可能需要更改 输入 的ID和其中数值给出



文章来源: jQuery DataTables filter multiple tables