Javascript 分页:使用";“获取更多”;带有getJSON的按钮
我对此一无所知,所以如果我没有得到足够的信息,请原谅我。我使用JSON和listview显示了数千条记录,但是我一次只需要显示20条,底部有一个“ShowMore”按钮。我不明白我将如何改变我当前的javascript来实现这一点,希望有人能给我指出正确的方向。我一直试图应用此代码使其正常工作,但未成功: 显示JSON数据的当前javascript:Javascript 分页:使用";“获取更多”;带有getJSON的按钮,javascript,jquery,html,json,pagination,Javascript,Jquery,Html,Json,Pagination,我对此一无所知,所以如果我没有得到足够的信息,请原谅我。我使用JSON和listview显示了数千条记录,但是我一次只需要显示20条,底部有一个“ShowMore”按钮。我不明白我将如何改变我当前的javascript来实现这一点,希望有人能给我指出正确的方向。我一直试图应用此代码使其正常工作,但未成功: 显示JSON数据的当前javascript: function getEmployeeList() { $.getJSON(serviceURL + 'getmeals.php?calfro
function getEmployeeList() {
$.getJSON(serviceURL + 'getmeals.php?calfrom='+ var1 + '&calto=' + var2, function(data) {
$('#employeeList li').remove();
employees = data.items;
$.each(employees, function(index, employee) {
$('#employeeList').append('<li><a href="employeedetails.html?id=' + employee.id + '">' +
'<img src="http://www.restaurants.com/assets/img/logos/' + employee.restaurant + '.jpg"/>' +
'<h4>' + employee.meal_item + '</h4>' +
'<p>Calories: ' + employee.calories + '</p>' +
'<span class="ui-li-count">' + employee.protein + '</span></a></li>');
});
$('#employeeList').listview('refresh');
});
}
函数getEmployeeList(){
$.getJSON(serviceURL+'getFinds.php?calfrom='+var1+'&calto='+var2,函数(数据){
$('#employeeList li')。删除();
员工=数据项;
$。每个(员工,职能部门(索引,员工){
$('employeeList')。追加('li>');
});
$('#employeeList').listview('refresh');
});
}
HTML:
餐厅用餐
我们的想法是向
$添加两个参数。getJSON
:限制和偏移量
Limit
是所需的行数。那么让我们说20行
Offset
是要开始搜索的行号。所以0,然后20,然后40等等
单击“获取更多”,以+20的偏移量重复$.getJSON
在后端,您的SQL查询应该如下所示:
$query = "SELECT * FROM table LIMIT $offset, $limit";
当查询不返回任何内容时,表示用户到达了终点
然后可以隐藏“获取更多”按钮
另一个解决方案是使用一个$.GetJSON
获取所有员工,然后将结果存储在一个变量中。首先显示前20名员工。如果用户单击“获取更多”,则显示接下来的20名员工。如果阵列中没有更多员工,则隐藏“获取更多”按钮
使用此解决方案,您将避免向服务器发出多个请求
您还可以寻找一个插件来进行分页
一些例子:
分页是您要查找的关键字,我看不到任何实现。您需要在服务器端脚本
中设置限制
,以告知控制器
仅返回接下来的20项
。我也看不到任何服务器端代码,所以这很难做到。我可以尝试将一个限制变量从JS传递到我的服务器端,每次调用它时以20个增量进行限制,我只是不确定如何在JS端执行。我会做一些搜索分页以及,谢谢你!“获取更多”按钮在哪里?然后所有的页面都要分页。
$query = "SELECT * FROM table LIMIT $offset, $limit";