table -6ren">
gpt4 book ai didi

jquery - 如何使用 jQuery 在单击按钮时显示表格的另外 5 行

转载 作者:行者123 更新时间:2023-12-03 22:26:07 25 4
gpt4 key购买 nike

我预加载了一个表及其所有行。但是,我只想显示 <tbody> 内的前 10 行标签,现在每个 <tr>在表中。

这是我到目前为止所做的:

var trs =  $("#internalActivities > table > tbody > tr");
trs.hide();
trs.slice(0, 9).show();

$("#seeMoreRecords").click(function (e) {
e.preventDefault();
$("#internalActivities tr:hidden").slice(0, 10).show();
});

$("#seeLessRecords").click(function (e) {
e.preventDefault();
$("#internalActivities tr").slice(9, 19).hide();
});

上述代码的问题在于:

  1. 它确实会查找 <tr>仅与 <tbody>标签。
  2. “查看更少”按钮需要从下往上删除 10 行,而不是全部。
  3. 我需要隐藏按钮seeMoreRecords如果全部显示。
  4. 如果显示最小行,则隐藏 seeLessRecords按钮。

最终,我的脚本默认显示 10 行,如果用户单击“查看更多”,您会看到另外 10 行。因此每次增量为 10,一旦达到最大值,就隐藏“查看更多”按钮。仅当显示的行数超过 10 行时,See less 才可见。

最佳答案

  1. 您可以使用选择器 $("#internalActivities tr")这将选择所有 <tr>的,无论 <tbody>或不

  2. 您需要将当前显示的索引保存在单独的变量中,或者根据选择的元素数量计算当前索引(使用 .length 属性)

  3. 检查当前显示的元素数量并显示/隐藏相应的按钮。

示例

HTML

<table id="internalActivities">

</table>
<input type="button" id="seeMoreRecords" value="More">
<input type="button" id="seeLessRecords" value="Less">

Javascript

for (var i=0;i<21;i++) {
$('#internalActivities').append('<tr><td>my data</td></tr>');
}

var trs = $("#internalActivities tr");
var btnMore = $("#seeMoreRecords");
var btnLess = $("#seeLessRecords");
var trsLength = trs.length;
var currentIndex = 10;

trs.hide();
trs.slice(0, 10).show();
checkButton();

btnMore.click(function (e) {
e.preventDefault();
$("#internalActivities tr").slice(currentIndex, currentIndex + 10).show();
currentIndex += 10;
checkButton();
});

btnLess.click(function (e) {
e.preventDefault();
$("#internalActivities tr").slice(currentIndex - 10, currentIndex).hide();
currentIndex -= 10;
checkButton();
});

function checkButton() {
var currentLength = $("#internalActivities tr:visible").length;

if (currentLength >= trsLength) {
btnMore.hide();
} else {
btnMore.show();
}

if (trsLength > 10 && currentLength > 10) {
btnLess.show();
} else {
btnLess.hide();
}

}

我创建了一个jsFiddle demo来看看它的实际效果。

关于jquery - 如何使用 jQuery 在单击按钮时显示表格的另外 5 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254379/

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