ajax表格内容加按钮,单击按钮时,如何触发jquery数据表fnServerData通过AJAX更新表?...

赫连俊雄
2023-12-01

我正在将datatables插件与服务器端数据一起使用,并使用AJAX更新表。

我的dataTables设置如下所示:

tblOrders = parameters.table.dataTable( {

"sDom": 't',

"sAjaxSource": "../file.cfc",

"bServerSide": true,

"sPaginationType": "full_numbers",

"bPaginate": true,

"bRetrieve": true,

"bLengthChange": false,

"bAutoWidth": false,

"aaSorting": [[ 10, "desc" ]],

"aoColumns": [

... columns

],

"fnInitComplete": function(oSettings, json) {

// trying to listen for updates

$(window).on('repaint_orders', function(){

$('.tbl_orders').fnServerData( sSource, aoData, fnCallback, oSettings );

});

},

"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {

var page = $(oSettings.nTable).closest('div:jqmData(wrapper="true")')

aoData.push(

{ "name": "returnformat", "value": "plain"},

{ "name": "s_status", "value": page.find('input[name="s_status"]').val() },

{ "name": "s_bestellnr", "value": page.find('input[name="s_bestellnr"]').val() },

{ "name": "form_submitted", "value": "dynaTable" }

);

$.ajax({ "dataType": 'json', "type": "POST", "url": sSource, "data": aoData , "success": fnCallback });

}

我有一些用于过滤数据服务器端的自定义字段,我将其与AJAX请求一起推送。问题是,我不知道如何从表外部触发JSON请求。如果用户键入过滤器,则fnServerData将触发并更新表。但是,如果用户在表外选择控件,则我不知道如何触发

fnServerData 函数。

现在,我正在尝试触发一个自定义事件,并在fnInitComplete中进行监听。虽然可以检测到用户在选择自定义过滤条件,但我缺少fnServerData正确触发所需的所有参数。

问题 :

是否可以通过实际dataTables表之外的按钮触发fnServerData?

我想我可以尝试为过滤器添加一个空格,但这并不是一个选择。

感谢您的输入!

 类似资料: