我正在使用Railscast的方式通过Ajax远程访问Rails数据。它工作得很好。
Railscast 340
现在,我尝试添加jquery-datatables-column-filter插件。
这是我的coffeescript:
$("#workorders").dataTable(
sPaginationType: "full_numbers"
bProcessing: true
bServerSide: true
bFilter: false
sAjaxSource: $('#workorders').data('source')
sDom: "T<\"clear\">lfrtip"
).columnFilter()但是,当我甚至点击下一步(以获得工作单的第二页)时,我得到以下控制台错误:
Uncaught TypeError: Cannot read property 'sServerMethod' of undefined jquery.dataTables.js?body=1:8754
DataTable.defaults.fnServerData jquery.dataTables.js?body=1:8754
oTable.fnSettings.fnServerData jquery.dataTables.columnFilter.js?body=1:330
_fnAjaxUpdate jquery.dataTables.js?body=1:1898
_fnDraw jquery.dataTables.js?body=1:1431
(anonymous function) jquery.dataTables.js?body=1:2876
fnClickHandler jquery.dataTables.js?body=1:11665
(anonymous function) jquery.dataTables.js?body=1:4800
jQuery.event.dispatch jquery.js?body=1:3075
elemData.handle搜索列也不起作用。
有什么想法吗?谢谢!
UPDATE1
我甚至尝试用另一个索引清单来简化(没有ajax)。
这是coffeescript:
$("#dataTable1").dataTable().columnFilter()当我尝试在一个列上搜索时,我得到:
Uncaught TypeError: Cannot read property 'oFeatures' of null jquery.dataTables.js?body=1:5586
fnFilter jquery.dataTables.js?body=1:5586
(anonymous function) jquery.dataTables.columnFilter.js?body=1:65
jQuery.event.dispatch jquery.js?body=1:3075
elemData.handle发布于 2013-09-14 00:58:37
您是否将列过滤器插件js放到了/vender/assets/javascripts目录中?然后,在你的application.js中引用:
//= require jquery.dataTables.columnFilter发布于 2013-12-13 15:55:52
尝试将jquery.dataTables.columnFilter.js中的第316行更改为:
oTable.fnSettings().fnServerData = function (sSource,aoData,fnCallback) {
要这样做:
函数oTable.fnServerData =
(sSource,aoData,fnCallback) {
https://stackoverflow.com/questions/16966621
复制相似问题