我有一些代码,它接受一个搜索查询(使用jquery),并使用该查询过滤出表中的行。因此,如果我键入“leather ...”它会查找包含“leather”的行,并隐藏不包含该单词的行。我遇到的问题是,我只想搜索第一列(但它会搜索该行中的每一列)。以下是当前代码的代码附录
https://codepen.io/jabbamonkey/pen/yLxBOJR
(the当我搜索“皮革”时,包含“隐藏”的行不应该出现...但它出现了,因为“皮革“工人在第5列...)
下面是jquery的代码:
$(document).ready(function(){
$('.search').on('keyup',function(){
var searchTerm = $(this).val().toLowerCase();
$('#craftTbl div.contentrow').each(function(){
var lineStr = $(this).text().toLowerCase();
if(lineStr.indexOf(searchTerm) === -1){
$(this).hide();
$(".descexpand").hide();
$(".rowCat").hide();
$(".rowSec").hide();
}else{
$(this).show();
}
});
});
});
我似乎无法让jquery代码只搜索“col1”,并在搜索查询从该行丢失时隐藏整行。我不太了解javascript(一点也不),所以任何帮助和指导都很感激...
注意:.rowCat、.rowSec和descexpand指的是从搜索中完全隐藏的整行(并且不会显示在codepen中)。
2条答案
按热度按时间jjhzyzn01#
对于每一行,您可以在
$this
的第一个子代中搜索,方法是将与
iszxjhcz2#
我认为您可以简单地编辑
lineStr
赋值,以便仅从.col1
元素获取值:下面是CodePen的fork示例。