Javascript jQuery实时搜索-也删除表头
我在使用正则表达式搜索代码,以便通过php在服务器端填充的相当大的表进行实时搜索 稍微改变一下上面链接中描述的场景,我使用表头标记将表行的块分组(标记)在一起。我正在防止这些表头行与其他表行一起消失,以便在搜索时,结果仍然嵌套在它们的组中 我希望表格标题行也消失,但仅当它和下一个表格标题行之间没有表格行时。我不确定计数行是否有效,因为行没有消失,它们只是隐藏起来了 例如,我的桌子是这样布置的: HTML:Javascript jQuery实时搜索-也删除表头,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我在使用正则表达式搜索代码,以便通过php在服务器端填充的相当大的表进行实时搜索 稍微改变一下上面链接中描述的场景,我使用表头标记将表行的块分组(标记)在一起。我正在防止这些表头行与其他表行一起消失,以便在搜索时,结果仍然嵌套在它们的组中 我希望表格标题行也消失,但仅当它和下一个表格标题行之间没有表格行时。我不确定计数行是否有效,因为行没有消失,它们只是隐藏起来了 例如,我的桌子是这样布置的: HTML: 感谢所有的帮助!!谢谢 我通过添加另一个类(每个组/标签都是唯一的)并在“.keyup()
感谢所有的帮助!!谢谢 我通过添加另一个类(每个组/标签都是唯一的)并在“.keyup()”部分中计算每个类的“:visible”行来解决我的难题。一旦每个类中的行数降到指定的数目以下,我就在if语句中使用“.hide()”使表头消失。if语句的else端使用“.show()”在表头的类计数超过指定数字时返回表头。我也遇到了这个问题,解决方法是只针对.filter的主体部分,而不是整个表
$("#SearchPermissions").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#contentPart tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
注意代码的$(“#contentPart tr”)部分。。这是指
通过这种方式,标题将从搜索中排除,因此在筛选表数据时仍将显示标题
$( document ).ready(function() {
var $rows = $('tr.searchable');
$('#search').keyup(function(e) {
if (e.keyCode == 27) { $(this).val("") }
var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
});
});
$("#SearchPermissions").on("keyup", function() {
var value = $(this).val().toLowerCase();
$("#contentPart tr").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});