为什么 yadcf custom_filter 不工作?

Why is yadcf custom_filter not working?

Fiddle: https://codepen.io/MBaas/pen/rpZZzd

我有一个数据table 关于报纸对总统候选人的认可,我想在党内过滤 - table 中不包含的值(我有简码 "D" 或 "R" 在 table 中,但想在 UI 中使用文本 "Democrat" 或 "Republican")。 这可能曾经有效(我认为它确实有效) - 但在升级到 beta 0.9.1 后它停止了。可能是测试版中的错误 - 或者可能是我的代码中未检测到的错误?

我的朋友圈:

function myCustomFilterFunction(filterVal,columnVal,rowValues,stateVal)
 {
 console.log(rowValues);
 console.log(filterVal+'/'+columnVal);
 if (columnVal === '') { return true;}
 return -1 < columnVal.search(filterVal);
 }

我添加了 log 用于调试目的,它产生了这个输出(摘录):

["Wisconsin State Journal", "2016", "Clinton", "", "", "", ""]
"D/"

我惊讶地发现 columnVal 是空的。这解释了过滤不起作用,它是空的可以通过查看 rowValues 来解释。但鉴于源数据在 JSON 中定义为

["Wisconsin State Journal",2016,"Clinton","http:\/\/host.madison.com\/wsj\/opinion\/editorial\/our-endorsement-hillary-clinton-america-must-get-this-right\/article_b526fe64-c2ca-5e3d-807a-0ef4ae23a4d5.html","","","D"]

这很奇怪。会不会跟列不可见有关?

您应该使用 searchable: true 选项使包含派对短代码的列可搜索,否则您的自定义过滤功能将不起作用。

例如:

{"searchable":true, "title":"Party (Shortcode)", "visible":true}

有关代码和演示,请参阅 updated example