为什么yadcf custom_filter不起作用?

时间:2018-01-16 14:31:01

标签: datatables yadcf

小提琴:https://codepen.io/MBaas/pen/rpZZzd

我有一个关于报纸对总统候选人的支持的数据表,我希望在派对上过滤 - 表中没有包含的值(我在表格中有“D”或“R”短字但想使用用户界面中的“民主党人”或“共和党人”。 这可能曾经有效(我认为确实如此) - 但在升级到beta 0.9.1后它停止了。可能是测试版中的错误 - 或者可能是我代码中未检测到的错误?

我的fn:

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"]
这很奇怪。它可能与列不可见这一事实有关吗?

1 个答案:

答案 0 :(得分:2)

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

例如:

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

请参阅updated example以获取代码和演示。