You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataTables的.fnFilter()方法中启用大小写敏感匹配(第6个布尔型参数)?

如何在DataTables的.fnFilter()方法中启用大小写敏感匹配(第6个布尔型参数)?

嘿,我来帮你搞定这个DataTables大小写敏感过滤的问题~

首先得明确一下旧版DataTables里fnFilter()方法的参数顺序(你用的这个是旧API,不过依然很常用):
fnFilter( 过滤字符串, 列索引, 是否作为正则, 是否智能过滤, 是否忽略大小写, 是否全局匹配 )

你想要的大小写敏感匹配,对应的是第5个参数是否忽略大小写——这个参数默认是true(也就是默认不区分大小写),所以只要把它设为false,就能开启大小写敏感的过滤啦。你之前提到的“第6个参数”可能是记错了顺序,咱们按实际参数作用来调整就好。

看你给出的代码,目前只传了前3个参数,后面的参数都用了默认值,所以现在是不区分大小写的状态。咱们只需要补充传递第5个参数为false就行(如果不需要改动第4个“智能过滤”的默认行为,传true保持原样就可以)。

修改后的代码示例如下:

filterActivate: function (table) {
    // 第5个参数设为false,开启大小写敏感匹配
    $(table).dataTable().fnFilter("Active", 7, true, true, false);
},
filterAll: function (table) {
    // 清空过滤时,大小写敏感参数不影响,按格式传递即可
    $(table).dataTable().fnFilter("", 7, true, true, false);
},
filterInactivate: function (table) {
    $(table).dataTable().fnFilter("Inactive", 7, true, true, false);
}

给你拆解一下关键参数的作用:

  • "Active"/"Inactive"/"":你要用来过滤的目标内容
  • 7:指定要过滤的列的索引(注意是从0开始计数哦)
  • true:把过滤字符串当作正则表达式处理(你原来的代码已经设置了这个,保持不变)
  • true:启用智能过滤(这是默认行为,不用改)
  • false:关闭“忽略大小写”的规则,也就是开启你要的大小写敏感匹配
  • (可选)第6个参数是全局匹配,默认true,一般不需要调整

另外提一嘴,如果你的DataTables版本比较新,官方更推荐用新APIcolumn().search(),不过既然你现在在用fnFilter(),上面的修改就完全能满足你的需求啦~

备注:内容来源于stack exchange,提问作者Pickles91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:59:32