我正在服务器端为 dataTable 实现排序(排序依据)。一切都很好即使我的数据得到了正确的排序(我可以在萤火虫中检查。)。现在的问题是,在那之后数据表没有重新加载,并且“处理...”继续出现。关于在哪里编写重新加载函数的任何线索。我知道这可以通过
oTable.fnDraw(true);
但我不知道在点击标题进行排序后在哪里写。如果您需要任何代码片段来调试,请告诉我。
编辑1**
即使在使用全局搜索或更改 no 后,我也无法重新加载表。要显示的行数。知道为什么会这样吗???
var oTable = $('#datatable').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "datatableprocessor",
"sPaginationType": "full_numbers",
"fnRowCallback": function (nRow, aData, iDisplayIndex) { return nRow; },
"fnServerData": function ( sSource, aoData, rfrshCallbk ) {
$('.search').each(function(index) {
var name = $(this).attr("name");
var tempName = name.replace("search","condition" );
var condition = $("[name='"+tempName+"']").val();
var value = $(this).val();
aoData.push({ "name": name, "value": value+""+condition });
});
aoData.push({ "name": "queryId", "value": "test" });
$.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": rfrshCallbk
} );
},
"aoColumnDefs": [
{ "sName": "c.id", "aTargets": [ 0 ] },
{ "sName": "c.firstname", "aTargets": [ 1 ] },
{ "sName": "c.lastname", "aTargets": [ 2 ] },
{ "sName": "c.telephone", "aTargets": [ 3 ] }
]
} );//
编辑 2 -----我试图检查 Json comming 是否正确,所以为了调试我将代码更改为
"success": function(json){
alert(JSON.stringify(json));
rfrshCallbk(json);
}
在这两种情况下,当我重新加载我的页面或排序 json 字符串时是相同的.. ??!!?? 不知道怎么回事???!!!