我有一个HTML表,看起来象下面这样:如何使用JS搜索表并仅返回匹配的行?
实际的表是很长的,我希望能够通过输入进行搜索,并且只返回匹配结果。
我目前使用下面的代码搜索(从here):
var $rows = $('#table tr');
$('#search').keyup(function() {
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();
});
但是有一个问题。当我搜索Foo Bar
,我想它返回:
现在,它返回如下:
我该如何解决这个问题?这可以通过调整正则表达式来完成吗?我没有想法。
是否只希望搜索“Foo Bar”或所有单元格? – Mooseman 2014-12-03 11:51:12
按照您的标记正常工作。 – Jai 2014-12-03 11:51:48
@Mooseman:整个桌子。 – 2014-12-03 11:52:49