gpt4 book ai didi

javascript - 隐藏加载更多记录按钮 ASP.net MVC Ajax Javascript

转载 作者:行者123 更新时间:2023-12-02 15:18:37 25 4
gpt4 key购买 nike

我正在尝试在我的 asp.net mvc5 Web 应用程序中通过 ajax 单击加载更多记录。但我是 JavaScript 新手,我不知道当当前页面等于总页数时如何隐藏加载更多按钮。

javascript代码:

function LoadMoreUR(total_pages) {
loadRecords(total_pages);
}
var page = 0;
var _inCallback = false;
function loadRecords(total_pages) {
if (page > -1 && !_inCallback) {
_inCallback = true;
page++;
$('div#loading').html('<p><img src="/Content/loading.gif"></p>');
$.get("/UserReviews/@ViewData["DeviceID"]/" + page, function (data) {
if (data != '') {
$("#UserReviewsList").append(data);
}
else {
page = -1;
}

_inCallback = false;
$('div#loading').empty();
});
}
}

我的观点

    <div id="UserReviewsList">
@Html.Partial("_user_reviews")
</div>
<div id="loadingbtn">
<button class="btn btn-primary" id="LoadMUR" onclick="LoadMoreUR(@ViewData["TotalPages"])" >Load More</button>
<div id="loading"></div>
</div>

如果一个设备有 3 条记录,我每次点击都会加载一条记录。我想在 page 等于 total_pages 时隐藏 loadingbtn div。

请帮我解决这个问题。谢谢

我的解决方案(如果我做错了什么,请告诉我)

function LoadMoreUR(totalpages) {
loadProducts(totalpages);
}
var page = 0;
var _inCallback = false;
function loadProducts(totalpages) {
if((page + 2) == totalpages && !_inCallback)
{
$('div#loading1').empty();
}
if (page > -1 && !_inCallback) {
_inCallback = true;
page++;
$('div#loading').html('<p><img src="/Content/loading.gif"></p>');
$.get("/UserReviews/Index/@ViewData["DeviceID"]/" + page, function (data) {
if (data != '') {
$("#UserReviewsList").append(data);
}
else {
page = -1;
}

_inCallback = false;
$('div#loading').empty();
});
}
}

最佳答案

在 Ajax 响应中,您必须获取全部记录计数并与显示的记录进行比较。如果您在表中绑定(bind),您可以获得行数。

var rowCount = $('#myTable tr').length;

在ajax响应中每次返回记录数以检查隐藏按钮的条件。

If(rowCount == TotalRecordCount )
{
$("#loadingbtn").hide()
}

关于javascript - 隐藏加载更多记录按钮 ASP.net MVC Ajax Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34265148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com