如何使用与逻辑相关的OR逻辑过滤表列
示例小提琴
我有一个html表:
_A_B_C_D_ |0|1|0|1| |0|1|0|0| |1|0|0|1|
我想过滤非零列。 使用jQuery dataTables(不是硬盘要求,正是我目前使用的)我执行以下filter:
// value is the column index, true simply informs the filter method to use regex dataTable.fnFilter("[^0]", value, true);
但是,过滤多个列会创建ANDfilter。 从而:
dataTable.fnFilter("[^0]", 0 /*A*/, true); dataTable.fnFilter("[^0]", 3 /*D*/, true);
会创建以下内容
_A_B_C_D_ |1|0|0|1|
我需要OR行为,但会创建下表:
_A_B_C_D_ |0|1|0|1| |1|0|0|1|
其中A列非零或 D列非零。 我想不出用我当前的结构来实现这个的任何方法。
如何使用与逻辑相关的OR逻辑过滤表列?
使用您的小提琴作为模型我更新它以提供我认为您想要的function。
我在每次单击复选框时都会扩展dataTables过滤:
$.fn.dataTableExt.afnFiltering.push( function (settings, data, index) { var s = [0, 3, 5]; // columns to filter for (var i=0; i < s.length; i++) { if (data[s[i]] != 0) return true; } return false; } );
完全融入小提琴: 链接