【发布时间】:2015-07-01 18:24:50
【问题描述】:
我有一个表格,里面填满了数据并像这样初始化。
$.ajax({
url: 'api/parent/child',
type: 'POST',
data: {
sessionId: sessionId
},
success: function(data, status){
if(status == 'success'){
// data will be xml String
xmlDoc = $.parseXML(data);
var $events = $(xmlDoc).find("Loans");
var thisTable;
thisTable = $("#loan-data").dataTable({
scrollX: true,
});
var eventChildren = $events.children("loan");
eventChildren.each(function(index, event){
var $event = $(event),
addData = [];
addData.push($event.children("loanNumber").text());
addData.push(formatData($event.children("loanAmount").text()));
addData.push($event.children("loanDuration").text());
var loanStatus = $event.children("loanStatus").children("loanStatus").text();
if(loanStatus == 'Pending'){
var dynamicdata = "<a id=\"editLoan\" href=\"#myModal\" data-id=\""+$event.children("id").text()+"\" data-loanamount=\""+$event.children("loanAmount").text()+"\" data-loanduration=\""+$event.children("loanDuration").text()+"\" data-toggle=\"modal\" class=\"editLoan\">"+"<button type=\"button\" id=\"editClick\" class=\"btn btn-info btn-xs\"><i class=\"fa fa-check\"></i> Edit</button></a>";
addData.push("<font color='orange'>"+loanStatus+"</font>");
addData.push(dynamicdata);
}else if (loanStatus == 'Some Other' || loanStatus == 'Some Other 2'){
addData.push("<font color='green'>"+loanStatus+"</font>");
addData.push("");
}else if(loanStatus == 'Some Other 3'){
addData.push("<font color='green'><b>"+loanStatus+"</b></font>");
addData.push("");
}else {
addData.push("<font color='Red'>"+loanStatus+"</font>");
addData.push("");
}
thisTable.fnAddData(addData);
});
$('#loan-data').dataTable();
$("#loading-gif-advanced").hide();
}
},
failue: function(data) {
}
});
此处将显示表格的全部数据。我想在这做分页。我已按照此链接中的示例进行操作。
https://www.datatables.net/examples/data_sources/server_side.html
但似乎数据是直接从服务器提供给 dataTable 的 ajax 源的,分页也是由服务器端 ajax 源自己处理的。但是在提供给我在当前代码中完成的表格之前,我必须修改要在表格中显示的数据。我必须做同样的过程,但有分页。我似乎找不到一个例子来解释我的这种要求的分页。
【问题讨论】:
-
dataTable默认分页。你能解释一下你在当前表中看到的内容吗? -
@JAG,是的,数据表默认分页。目前我正在从表中获取整个数据。但我想做服务器端分页,如示例链接所示..
-
为此,您需要修改您的
api方法,该方法接受附加参数(pageLength、pageNumber、searchString...)并返回data以及draw、recordsTotal,和recordsFiltered。你有权限修改api方法吗? -
@JAG,是的。我可以访问前端和后端。我想过做这样的事情.. datatables.net/reference/option/ajax.dataSrc .
标签: javascript jquery ajax pagination jquery-datatables