数据表中的自定义过滤器不会加载所有数据

时间:2017-02-14 06:09:37

标签: jquery

这也与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

1 个答案:

答案 0 :(得分:0)

知道了。只是为了其他人可以作为参考,如果他们也来到这个。

  $.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列的值。