2015-05-13 65 views
1

我在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", 

錯誤消失了,但我無法按此值過濾。

+0

您使用舊版數據表或> 1.10?你可以發佈你的整個yadcf.init腳本嗎? –

回答

1

您應該設置column_data_typehtml只有當你的<td>元素的內容包含HTML代碼,例如<td><span>Identified (In progress)</span></td>,然後yadcf將提取標識的(進行中)span

在您例如<td>的內容是純文本,所以你應該申報column_data_type,因爲在所有的default value of column_data_type is text,者均基於[html_data_type的默認值是文本] 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" 
}]); 

PS我是作者yadcf plugin

+0

謝謝你,但它是非常奇怪我刪除了你指出我刪除的代碼,但是當我選擇標識(進行中)時,它顯示顯示0個條目中的0到0個。我發現代碼在你的jsfiddle中工作,但是相同的代碼不能與我的表一起工作。我嘗試使用.DataTable()使用yadcf.init,但仍顯示0條記錄。 –

+0

@KirillRyzhkov,你需要使用[最新的yadcf JS文件](https:// github。com/vedmack/yadcf/tree/master/beta)。 –

+0

是的,你必須使用最新的beta版本的確切工作括號或任何其他類似正則表達式字符 – Daniel

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

+0

感謝您的回答,但我需要完全匹配模式。 –

+0

'exact'直到@Daniel([yadcf插件](http://yadcf-showcase.appspot.com/)的作者)添加了解決此問題的修復程序後才起作用,請參閱[他的回答](http:// stackoverflow.com/a/30231106/3549014)。 –

+0

是的,你必須使用最新的測試版的確切與括號 – Daniel

相關問題