我如何在多个表中搜索?我有这个代码,但这只适用于我的一个表.我总共有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();
}
});
}
Run Code Online (Sandbox Code Playgroud)
我已经剥离了我的表格代码,以便它看起来更易于管理
问题在于"搜索tabe"只运行表1而不是剩余的表
表格1:
<table class="table" id="searchTable">
Run Code Online (Sandbox Code Playgroud)
表2:
<table class="table" id="searchTable">
Run Code Online (Sandbox Code Playgroud)
表3:
<table class="table" id="searchTable">
Run Code Online (Sandbox Code Playgroud)
表4:
<table class="table" id="searchTable">
Run Code Online (Sandbox Code Playgroud)
你的问题是因为ID.ID必须对每个元素都是唯一的,所以一旦jQuery拉出第一个ID,它就会停止查找其他任何元素.
替换$('#searchTable')为$('.table'),问题应该修复.
如果不使用这些表,您还应该为这些表提供唯一ID或完全删除ID.
从HTML规范:"文档中不得有多个具有相同id值的元素." http://www.w3.org/TR/html-markup/global-attributes.html