Javascript AJAX结果的客户端分页(jQuery)
好的,首先,我的问题通常是关于AJAX中的分页,我需要分割AJAX返回的html,我不希望我的搜索结果页面被数千个返回的html列表所附加,所以我需要将其分割成若干部分 我得到了以下Ajax代码:Javascript AJAX结果的客户端分页(jQuery),javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,好的,首先,我的问题通常是关于AJAX中的分页,我需要分割AJAX返回的html,我不希望我的搜索结果页面被数千个返回的html列表所附加,所以我需要将其分割成若干部分 我得到了以下Ajax代码: $.ajax({ url: "getflightlist.php?parameter=parameter", type: "GET", dataType: "html", success: function(data, textStatus, jqXHR) {
$.ajax({
url: "getflightlist.php?parameter=parameter",
type: "GET",
dataType: "html",
success: function(data, textStatus, jqXHR)
{
tjq("#flightlisting").append(data)
},
error: function (jqXHR, textStatus, errorThrown)
{
alert(textStatus)
}
});
它将一些html返回到我的#flightlisting中,如下所示:
<article id="flight1" class="list"></article>
<article id="flight2" class="list"></article>
<article id="flight3" class="list"></article>
<article id="flight4" class="list"></article>
<article id="floght5" class="list"></article>
我的问题是如何仅获取前3个ID(flight1、flight2、flight3),当我单击某个触发器时,它将继续返回其余2个ID(flight4和flight5)
我知道我应该修改getflightlist.php以逐段返回,但在这种情况下我不能。请提供帮助,任何链接或建议更好的方法都将不胜感激。在完成ajax调用后,您可以将数据添加到变量中,并在用户单击按钮时使用jQuery将适当的文章导入容器,而不是立即追加数据 因此,改变ajax调用并添加一个单独的函数来添加文章-
var articles;
var pageNum = 0;
function nextPage() {
$("#flightlisting").empty();
var maxArticlesPerPage = 3;
var firstArticle = maxArticlesPerPage * pageNum;
var currentArticle = firstArticle;
var $articles = $($(articles), "article");
var i = 0;
while(currentArticle < $articles.length && i < maxArticlesPerPage) {
$("#flightlisting").append($articles.eq(currentArticle));
i++;
currentArticle++;
}
pageNum++;
}
$.ajax({
url: "getflightlist.php?parameter=parameter",
type: "GET",
dataType: "html",
success: function(data, textStatus, jqXHR)
{
articles = data;
nextPage();
},
error: function (jqXHR, textStatus, errorThrown)
{
alert(textStatus);
}
});
var条款;
var pageNum=0;
函数下一页(){
$(“#flightlisting”).empty();
var maxArticlesPerPage=3;
var firstArticle=maxArticlesPerPage*pageNum;
var currentArticle=第一篇文章;
var$条款=$($(条款),“条款”);
var i=0;
而(currentArticle<$articles.length&&i
然后让按钮调用nextPage()
函数。当然,当你到达列表的末尾时,你需要禁用你的按钮
请参见此处。如果不是在PHP中,您能否更改返回的HTML结构?如果可以的话,我可以建议您使用带有选择器的jquery load方法,它将为您提供所需的片段,而不是enitrehtml@Kalish你是说像getflight.html#fragment这样的东西吗?我的html返回完全是我上面提到的,没有,等等。只有s元素。因此它不会返回整个html页面,我知道这与。each()…但没有ideaBINGO…这正是我需要的@John-c…谢谢!没问题,很乐意帮忙!