未捕获错误:语法错误,Yadcf选择类型中无法识别的表达式

时间:2015-05-13 12:12:48

标签: datatables yadcf

我在Yadcf中遇到选择类型的问题。它不允许括号。 我有这个代码

{
   column_number: 9,
   filter_type: 'select',
   select_type: "select2",
   column_data_type: "html",
   html_data_type: "text",
   filter_match_mode: "exact",
   filter_default_label: "Select status",
},

HTML:

<td>Identified (In progress)</td>

所以当页面加载时我有错误

Uncaught Error: Syntax error, unrecognized expression: Identified (In progress)

如果我删除括号,选择过滤器工作正常,如果我写

column_data_type: "text",

错误消失但我无法按此值过滤。

2 个答案:

答案 0 :(得分:1)

似乎是yadcf中的错误。

尝试使用filter_match_mode: "contains"column_data_type: "text",如下所示:

{
   column_number: 9,
   filter_type: 'select',
   select_type: "select2",
   column_data_type: "text",
   filter_match_mode: "contains",
   filter_default_label: "Select status"
},

请参阅this JSFiddle进行演示。

答案 1 :(得分:1)

只有当column_data_type元素的内容包含 html 代码时,您才应将html设置为<td>,例如<td><span>Identified (In progress)</span></td>然后yadcf将从您的span中提取已识别(进行中)

在您的示例中,<td>的内容是纯文本,因此您应该声明column_data_type因为default value of column_data_type is text,而不是[html_data_type的默认值是 text ] 2,所以你也不应该设置它的值。

所以只需删除

即可
column_data_type: "html",
html_data_type: "text",

它应该按预期工作

以下是a working jsfiddle(使用最新测试版)

yadcf.init(oTable, [{
    column_number: 0,
    select_type: "select2",
    select_type_options: {
        width: '200px'       
    },       
    filter_match_mode: "exact"
}]);

p.s我是yadcf plugin

的作者