我使用DataTables在表格中显示信息,并且我已启用服务器端加载(我只需要加载数据和分页)并且我不需要搜索或按服务器端排序,我需要为我的表默认搜索和排序(jQuery)。
我该怎么做?
var table2 = $('#datatable-buttons2').DataTable({
"serverSide": true,
"processing": true,
"asSorting": ['desc', 'asc'],
"ajax": {
'type': 'POST',
'url': 'test.php?nowsearch=1',
'data': {
inputaz: $("#inputaz").val(),
inputta: $("#inputta").val(),
inputkey: $("#inputkey").val()
}
},
"columns": [{
"data": "group_name"
}, {
"data": "sender"
}, {
"data": "date"
}],
});

答案 0 :(得分:0)
也许你可以这样做,自定义在Javascript中检索的数据,,但这没用; 。
如果您使用serverSide: true
在客户端对项目进行排序,它将仅对当前检索到的数据进行排序,而不是基于数据库中的所有数据集(如果您实际限制结果,如果不这样做,则使用直接serverSide: false
女巫将检索所有记录。)
例如,如果您有1000条记录,则只获得前10条记录的数据,而不是全部(10/25/50/100)。如果您按age
进行本地排序,它将对检索到的10进行排序。然后,如果您转到下一页,您会注意到第2页不是从第1页开始的。
这就是为什么当你使用serverSide: true
时必须使用后端语言对排序/搜索进行编码的原因:在那里你将先排序,然后然后你会返回10条排序的记录。< / p>
这就是这个选项的想法。
无论如何......您可以使用paging option为客户端(serverSide: false
)添加分页。但是你需要了解性能。
简而言之,如果您将处理许多记录,您应该继续使用服务器端并从后端编码排序/搜索/分页/等返回相应的数据。不是那么难。您可以使用parameters sent来实现此目的。