据我所知,DataTable的过滤器部分是一个插件,其简要说明如下:https://code.google.com/archive/p/jquery-datatables-column-filter/wikis/ColumnFilter.wiki
我想要完成的是当用户过滤数据时,我希望过滤器下拉选项根据当前数据集中的可用内容进行更改。例如,如果我过滤"食物类型"要成为肉类",我不想在" Food"中看到蔬菜或水果。过滤器,只有不同种类的肉。如果我选择"蔬菜"在"食物类型"过滤器,然后我只会在" Food"中看到蔬菜,例如" Potatoes"过滤
具体要求:
目前,过滤器似乎只在页面初始化时设置。 columnFilter选项允许为过滤器设置特定值,但我相信这只在页面加载时出现一次。以这种方式重新绘制过滤器的问题可能会保存用户对过滤器的选择。
我能想到的另一种方法是在更改过滤器选择时,在单独的JavaScript函数中更新过滤器选项列表。这将涉及使用此功能从过滤的数据集中解析数据:
table.on('search.dt', function() {
//number of filtered rows
console.log(table.rows( { filter : 'applied'} ).nodes().length);
//filtered rows data as arrays
console.log(table.rows( { filter : 'applied'} ).data());
})
我想知道是否有更好的方法来实现这一点,也许是使用内置的DataTables功能。