Javascript 搜索表格单元格
我有一个表,它是隐藏的,包含1272行,其中有3列,带有Javascript 搜索表格单元格,javascript,jquery,performance,loops,Javascript,Jquery,Performance,Loops,我有一个表,它是隐藏的,包含1272行,其中有3列,带有 店名 邮政编码 钮扣 该脚本用于在所有td单元格中搜索商店名称或邮政编码,并且不会返回所需的结果 这是一个链接到 谢谢你的建议 $("#searchterm").on("keyup", function() { var value = $.trim($(this).val().toLowerCase()); $("table#participating_stores t
td
单元格中搜索商店名称或邮政编码,并且不会返回所需的结果
这是一个链接到
谢谢你的建议
$("#searchterm").on("keyup", function() {
var value = $.trim($(this).val().toLowerCase());
$("table#participating_stores tr:gt(0)").each(function(index) {
if (index !== 0) {
$row = $(this);
var $tdElement = $row.find("td");
var id = $.trim($tdElement.text().toLowerCase())
var matchedIndex = id.indexOf(value);
if (matchedIndex != 0) {
$row.hide();
}
else {
//highlight matching text, passing element and matched text
$row.show();
}
}
});
});
我想这就是你要找的。我制作了这段可运行的代码片段,希望它能让您和任何试图思考这个问题的人更加清楚
$(“#searchterm”)。在(“keyup”,function()上{
var值=$(this.val();
$(“表tr:not(:first)”).show().filter(函数(索引){
返回$(this.find(“td”).text().indexOf(value)=-1;
}).hide();
});代码>
表格,tr,td,th{
边框:1px纯黑;
填充:3倍;
}
表th{
背景色:#dddddd;
}
邮政编码商店名称
12345店铺名称
99999其他商店名称
54321另一个名字
第34名
87898第五名
有几个问题:1。find('td')
获取一行的所有三个单元格,但是。。。2.然后下一个trim()。3.我认为matchedIndex
应该检查==-1
(-1表示未找到)以隐藏行,而不是0。。。使用浏览器的调试器设置断点并逐步执行javascript代码以遵循处理。感谢Paul,这非常有用,我不确定-1的含义。感谢这个解决方案,它更快、更短。我在这里对它进行了修改,以便显示和隐藏表,并为空字符串设置了一个计时器,该计时器主要起作用