我正在使用带有服务器端处理的Datatables,我需要在查询中添加一些额外的参数来进行一些过滤。这就是我的设置:
if($('#example').length) {
var oTable = $('#listings').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": ajax_url+'?action=load_table_data',
"fnServerParams": function ( aoData ) {
aoData.push( { "name": "filters", "value": get_table_filters() } );
}
});
var tableFilterArray = {};
//Setting up and changing the filters, etc...
function get_table_filters() {
return JSON.stringify(tableFilterArray);
}
}
该脚本在Chrome中运行良好,但无法在Firefox中运行,给我以下错误:
ReferenceError:未定义get_table_filters
以下是演示:http://jsfiddle.net/HaXUR/3/
我在这里缺少什么?
答案 0 :(得分:1)
将get_table_filters移出if语句
if($('#example').length) {
var oTable = $('#listings').dataTable({
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": ajax_url+'?action=load_table_data',
"fnServerParams": function ( aoData ) {
aoData.push( { "name": "filters", "value": get_table_filters() } );
}
});
var tableFilterArray = {};
}
function get_table_filters() {
return JSON.stringify(tableFilterArray);
}