Javascript 搜索时筛选表行
我试图筛选表中的行,以便在搜索栏中显示输入文本的结果。下面的代码完成了这项工作,但出于某种原因,也会过滤列标题Javascript 搜索时筛选表行,javascript,jquery,html,Javascript,Jquery,Html,我试图筛选表中的行,以便在搜索栏中显示输入文本的结果。下面的代码完成了这项工作,但出于某种原因,也会过滤列标题 $('#search').keyup(function () { var data = this.value.split(" "); var rows = $(".Info").find("tr").hide(); if(this.value ==""){ rows.show(); return; } rows.h
$('#search').keyup(function () {
var data = this.value.split(" ");
var rows = $(".Info").find("tr").hide();
if(this.value ==""){
rows.show();
return;
}
rows.hide();
rows.filter(function(i,v){
var t = $(this);
for (var d = 0; d < data.length; d++) {
if (t.is(":Contains('" + data[d] + "')")) {
return true;
}
}
return false;
}).show();
});
HTML
用户添加了行,这就是为什么我没有为它编写任何HTML
任何帮助都将不胜感激。提前谢谢
看起来您需要使用tbody进行过滤
另一种方法是使用jQuery的:gt选择器 唯一会改变的是这一行:
var rows = $(".Info").find("tr:gt(0)").hide();
注意:gt0添加到您的tr中
<table style ="width:95%" class = "Info">
<thead>
<tr>
<th>Select </th>
<th>Name</th>
<th>Number</th>
<th>Date</th>
</tr>
<thead>
<tbody>
</tbody>
</table>
var rows = $(".Info tbody tr").hide();
var rows = $(".Info").find("tr:gt(0)").hide();