使用javaScript/jQuery显示/隐藏html表条目?
我有一个很大的html表格,里面有超过50000个条目。我需要以20个一组的方式显示这些,或者一些这样的数字。html与此类似:使用javaScript/jQuery显示/隐藏html表条目?,javascript,jquery,html,Javascript,Jquery,Html,我有一个很大的html表格,里面有超过50000个条目。我需要以20个一组的方式显示这些,或者一些这样的数字。html与此类似: <tbody> <tr> <table class="order-table Logs" style="width: 472px;" > <thead> <tr> <th>Heading1</th> &l
<tbody>
<tr>
<table class="order-table Logs" style="width: 472px;" >
<thead>
<tr>
<th>Heading1</th>
<th>Heading2</th>
<th>Heading3</th>
<th>Heading4</th>
<th>Heading5</th>
</tr>
</thead>
<tbody>
[% FOREACH changeLog IN PO.changeLogs %]
<div id="change_order_entries"
<tr>
<td>[%date.format(changeLog.ts, '%m/%d/%y %l:%M %p')%]</td>
<td>[%Log.nameFirst%] [%changeLog.nameLast%]</td>
<td>[%Log.field%]</td>
<td>[%cLog.oldValue%]</td>
<td>[%Log.newValue%]</td>
</tr>
</div>
[% END %]
</tbody>
</table>
</tbody>
标题1
标题2
头3
头4
标题5
[%FOREACH changeLog IN PO.changeLogs%]
我不想在浏览器中加载50000个条目,所以我会向您推荐服务器端的东西
如果你想在客户端做这件事,看看
Datatables是一个jquery插件,它将为您的表设置适当的样式,并为您提供分页(即一次显示20行)、排序和筛选。这些都是使用插件中的选项完成的
p.S.@Ted是正确的:在您的表结构中,不要抛出非表元素(如标记或S)首先,去掉包装的
。这是不允许的。请将ID改为放在
上。而$('.order table')
是为您获取表,而不是其中的行。如果您需要这些行,$('.order table tr')
将返回它们。这在获取这些行时就做到了。谢谢但是js函数中的$(this).show()会忽略它们吗?
function showMoreLogs() {
var revealed = 0;
$('.order-table').each(function() {
var $this = $(this);
if ($this.is(':hidden') && revealed < 10) {
$(this).show();
revealed++;
}
});
var hidden = $('.order-table').filter(":hidden").size();
if (hidden > 0) {
if (hidden == 1) {
$('#more-orders').html('Get 1 More Change Logs');
} else if (hidden <=5) {
$('#more-orders').html('Get ' + hidden + ' More Change Logs.');
} else {
$('#more-orderd').html('Get 10 More Change Logs');
}
} else {
console.log("Hidden: ", hidden);
$('#more-orders').hide();
}
return false;
}
$(document).ready(function(){
$('.Logs').DataTable();
});