嘿所有我想将返回的查询记录拆分为“分页”类型的东西,因此我想显示前51条记录,然后将其余的数据添加到数组中,以便稍后在用户想要移动时获取到另一页。
我可以在页面上显示前51个结果,但我找不到将其余记录除以51的方法。
到目前为止我的代码:
var arrayHTML = [];
for(var key in data){
if(data.hasOwnProperty(key)) {
if (totalX >= 51) {
//Start putting the results into an array. 51 results per array
}else if (x > 1) {
x = 0;
_userName = data[key].fname + ' ' + data[key].lname;
populateCards(_userName,
data[key].email,
data[key].img,
data[key].school,
data[key].userID,
true,
data[key].encoded);
} else {
_userName = data[key].fname + ' ' + data[key].lname;
populateCards(_userName,
data[key].email,
data[key].img,
data[key].school,
data[key].userID,
false,
data[key].encoded);
x++;
}
totalRowCnt = data[key].totalRows;
_tmpMath = Math.round(totalRowCnt / totalNum);
total++;
totalX++;
console.log('totalX: ' + totalX)
}
}
在点击51后,它会进入 if(totalX> = 51){,这就是我试图弄清楚如何将其余部分分成51个数组槽。
上面的代码循环,直到它到达每个第三条记录,然后放置< br /> 之后,它有一行3条记录,然后它一直这样做,直到它达到记录51. 所以17行,每行3条记录。 true 告诉函数放置< br /> 结尾,而 false 告诉函数不要放< br /> 尚未。
任何帮助都会很棒!
答案 0 :(得分:0)
下面的JavaScript代码:
将此功能添加到您的代码中:
udp
你可以像这样使用这个功能:
// this is a simple pager function that return part of the array you want
// so you can easily loop over it
// @param page you want
// @param how many values you want
// @return the sliced array with the parts you want
// (this will return an empty array if your page is out of bound
// e.g. when you array only contains less than 51 and you tell it you want page 2)
array_pager = function ( array, page, show ) {
var start = (page -1) * show; // this sets the offset
return array.slice( start, start + show);
}