我已经定义了一个用于使用 dataTables 操作表的 javascript 函数。我为表格提供了自定义列定义
setTableStyle = ->
columnDefs = [ { "bSearchable": true, "bVisible": true, "aTargets": [ 0, 1, 2, 3 ] }, { "bSortable": false, "bSearchable": false, "bVisible": true, "aTargets": [ 4 ] } ]
$('#agents_list, #search_list').dataTable
'bFilter': false
'bAutoWidth': false
'aaSorting': [[ 3, 'desc' ]]
'bPaginate': false
'aoColumnDefs': columnDefs
im ajax 轮询代理 n 的更改,使用“fnDraw”重绘 js.haml 文件中的表格。js.haml 代码如下
$('#agents_list').replaceWith("#{escape_javascript(render partial: 'agents_table', locals: {agents: @agents, id: 'agents_list'})}");
var columnDefs = [{"bSearchable": true, "bVisible": true, "aTargets": [0, 1, 2, 3] }, {"bSortable": false,"bSearchable": false, "bVisible": true, "aTargets": [4]}];
var oTable = $('#agents_list').dataTable({ 'bFilter': false, 'bAutoWidth': false, 'aaSorting': [[3, 'desc']], 'bPaginate': false, 'aoColumnDefs': columnDefs});
oTable.fnDraw();
我不能从 js.haml 调用“setTableStyle”,因此我必须重复代码。我该如何避免这种情况?