我有一个mysql产品表。
我有一个产品详情页面,其中用户有一个“显示更多”按钮,可以在页面上加载更多产品。 单击此按钮后,jQuery会计算页面上显示的产品数量(N),并向表格发出AJAX请求以获取20多个产品(N + 20)。
现在我应该在隐藏按钮时创建一个触发器。 我应该选择哪种触发器?定义没有产品的最佳方法是什么。
请帮助。
答案 0 :(得分:0)
我猜有两种方法,
简单的方法是计算AJAX函数返回的响应行数。如果它小于20,则隐藏按钮..但是,如果您的记录编号是20的倍数,则最后一个响应中会出现毛刺,因为它不会隐藏按钮。
完美的方法是计算表中的记录数,然后将该数据保存在js变量中。然后将该变量值与您要求另一条记录的次数进行比较。如果它们具有相同的值,则隐藏该按钮,如果没有则显示该按钮。
答案 1 :(得分:0)
我不知道你是如何达到这个功能的,因为你没有共享代码,所以我不能给你最准确的帮助,只有这一个:
X
行时,检索所有行的数量(与搜索条件匹配)X
行,总行数为Y
,当前显示的行数为Z
if Z <= Y then
不显示按钮else
显示按钮click
事件,然后执行你的AJAX请求,在成功完成AJAX之后,你需要Z += X
并再次比较if Z > Y then hide the button
那应该是你的逻辑,现在把它变成你的代码。
答案 2 :(得分:0)
这取决于产品清单更新的频率。
如果产品数量经常变化(比如说,每天超过一次),我会对每个AJAX请求执行查询,检查我是否有更多项目(例如,检查N + 20&gt; = count(id)of products),并在回调上隐藏按钮。
否则,我只会将产品数量作为JS参数注入页面,每次点击都会对其进行验证(N + 20&lt; = count_products),并为自己节省一些AJAX \ SQL加载时间。
答案 3 :(得分:0)
您可以使用PHP获取所有行的计数并将其保存在隐藏字段或变量中,之后您可以测试(使用jquery)查看页面中当前的记录数(您已经在这样做了)然后用隐藏字段/变量中的数字测试它并显示/隐藏按钮
答案 4 :(得分:0)
最后我选择下一个变种:
我想加载更多20种产品。 在后端代码中,我将此数字切换为21。 那么在jQuery我只显示20但是我检查是否还有一个产品我不应该隐藏按钮。
那就是它。 无论如何,谢谢你们!