【问题标题】:Custom filter in Datatables does not load all data数据表中的自定义过滤器不会加载所有数据
【发布时间】:2017-07-02 07:45:58
【问题描述】:

这也与 DataTable 有关。我有 2 个自定义过滤器非常相似。一种有效,一种无效。

看看

这个有效

$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
    var min = parseInt( $('#min').val(), 10 );
    var age = parseFloat( data[12] ) || 0; // use data for the age column

    if (( isNaN( min )) ||
         ( min == age))
    {
        return true;
    }
    return false;
}

它首先加载所有记录,然后在更改时进行过滤。

这个不行

$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var department = $('#department').val();
var dept = data[18]; // use data for the color column
if ( department == dept)//)
    {
        return true;
    }
    return false;
}
);

部门下拉值是6,列[18]也是如此

它会进行过滤,但默认情况下,或者如果从列表中选择任何内容(默认值为 ''),它现在将显示整个表格数据。

有人吗?

参考:https://datatables.net/forums/discussion/24959/dropdown-instead-of-search-box

【问题讨论】:

    标签: jquery


    【解决方案1】:

    知道了。仅供参考,如果其他人也遇到过这个。

      $.fn.dataTable.ext.search.push(
      function( settings, data, dataIndex ) {
      var department = parseInt( $('#department').val(), 10 );
      var dept = parseFloat( data[18] ) || 0;//data[18]; // use data for the color column
      if (( isNaN( department )) ||
             ( department == dept))
          {
              return true;
          }
              return false;
      }
    );
    

    您必须解析 Dropbox 的值以及 parsefloat 列的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 2018-06-14
      相关资源
      最近更新 更多