【问题标题】:jQuery DataTables filter multiple tablesjQuery DataTables 过滤多个表
【发布时间】:2012-10-18 08:23:23
【问题描述】:

我在一些 HTML 表格中使用 jQuery DataTables。好吧,我有一个页面,我在其中列出了几个表,我必须通过相同的过滤器过滤所有这些表。在这种情况下是我自定义的日期范围。

所有的表都使用相同的 css 类来构造数据表和我在日期范围内进行的搜索

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

我还有另一个文本搜索,使用

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

而且这个也只在一张桌子上工作,而不是像我期望的那样在所有桌子上工作。

谢谢,

【问题讨论】:

标签: jquery datatable datatables filtering


【解决方案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数值 所在的给定的。

【讨论】:

  • 嗨,谢谢。好吧,这几乎就是我所做的,它仍然只能在一张桌子上工作,而不是在一个范围内。赞成,因为它有效,但仍然不能解决我的问题。正如我在评论中看到的那样,似乎我可以在 .each() 中做到这一点并且可以工作。我现在要测试一下。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-12
相关资源
最近更新 更多