数据表中的自定义过滤器不会加载所有数据
Posted
技术标签:
【中文标题】数据表中的自定义过滤器不会加载所有数据【英文标题】: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
【问题讨论】:
【参考方案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 列的值。
【讨论】:
以上是关于数据表中的自定义过滤器不会加载所有数据的主要内容,如果未能解决你的问题,请参考以下文章