如何在多个表中搜索?我有这个代码,但这只适用于我的一个表。我总共有4张桌子。
这是我的表格中“某事”之后的搜索代码。
$(document).ready(function() {
$('#search').keyup(function() {
searchTable($(this).val());
});
});
function searchTable(inputVal) {
var table = $('#searchTable');
table.find('tr').each(function(index, row) {
var allCells = $(row).find('td');
if(allCells.length > 0) {
var found = false;
allCells.each(function(index, td) {
var regExp = new RegExp(inputVal, 'i');
if(regExp.test($(td).text())) {
found = true;
return false;
}
});
if(found == true) $(row).show();
else $(row).hide();
}
});
}
我已经剥离了我的表格代码,以便它看起来更容易管理
问题在于“搜索tabe”只运行表1而不是剩余的
表1:
<table class="table" id="searchTable">
表2:
<table class="table" id="searchTable">
表3:
<table class="table" id="searchTable">
表4:
<table class="table" id="searchTable">
答案 0 :(得分:6)
您的问题是由于ID。 ID必须对每个元素都是唯一的,所以一旦jQuery拉出第一个ID,它就会停止查找其他任何元素。
将$('#searchTable')
替换为$('.table')
,问题应该解决。
如果不使用这些表,您还应该为这些表提供唯一ID或完全删除ID。
从HTML规范:“文档中不得有多个具有相同id值的元素。” http://www.w3.org/TR/html-markup/global-attributes.html