通过textfield(id =“preset_searchfield”)我可以通过jquery搜索我的表。只有包含搜索文本的行才可见:
$("#tab_body tr").hide();
$("#tab_body tr td:contains('" + $("#preset_searchfield").val() + "')").each(function(){
$(this).parent().show();
});
这很有效。现在我想搜索由空格分隔的多个单词。因此,我将搜索字符串分割为:
var searchString = $("#preset_searchfield").val();
var searchArray = searchString.split(' ');
为了使包含我的数组中的单词的所有行都可见,我该怎么做?
答案 0 :(得分:0)
一种方法是使用jQuery.filter()
方法
/* more efficient to loop over each row, and look at TD's within row*/
$('#tab_body tr').filter(function(){
var isMatch=false, $cells=$(this).children();
$.each(searchArray, function(i, searchStr){
/* check if any of cells contain this search string*/
if( $cells.filter(':contains('+searchStr+')').length){
isMatch=true;
/* stop looking at other values in array, found a match*/
return false;
}
})
return isMatch;
}).show();
答案 1 :(得分:0)
你也可以这样做
var searchString = $("#preset_searchfield").val();
var searchArray = searchString.split(' ');
for (x in searchArray) {
$('#tab_body tr:contains(' + searchArray[x] + ')').hide();
}
Jsfiddle http://jsfiddle.net/jqwm8/