如何使用与逻辑相关的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; } ); 

完全融入小提琴: 链接